DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on

1

Day-28 Dictionary, Frequency of character using nested loops

Dictionary-{}

Dictionaries are used to store data values in key:value pairs.
A dictionary is a collection which is ordered, changeable and do not allow duplicates.
In dictionary each element can be accessed by their keys, not through indexing.
If dictionary does not contain the key then the output will be 'KeyError'.

Example:

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}

student = {"name":"raja", "class":5}

print(thisdict)
print(student)
Enter fullscreen mode Exit fullscreen mode
{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
{'name': 'raja', 'class': 5}

Enter fullscreen mode Exit fullscreen mode

1. Finding frequency of each letter in a string

s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
        print(key, count)
    j+=1

Enter fullscreen mode Exit fullscreen mode
l 1
a 2
k 1
s 1
h 2
m 1
i 2
p 1
r 1
t 1

Enter fullscreen mode Exit fullscreen mode

2. Letters appeared Only Once

s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
        print(key, count)
    j+=1

Enter fullscreen mode Exit fullscreen mode
l 1
k 1
s 1
m 1
p 1
r 1
t 1

Enter fullscreen mode Exit fullscreen mode

3. Most frequent letter

s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        print(key, count)
    j+=1
Enter fullscreen mode Exit fullscreen mode
a 2
h 2
i 2
Enter fullscreen mode Exit fullscreen mode

4. First Non-repeated letter

s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
        print(key, count)
        break
    j+=1
Enter fullscreen mode Exit fullscreen mode
l 1
Enter fullscreen mode Exit fullscreen mode

5. First repeated letter


s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        print(key, count)
        break
    j+=1
Enter fullscreen mode Exit fullscreen mode
a 2
Enter fullscreen mode Exit fullscreen mode

6. Last non-repeated letter

last = ' '
last_count = 0 
s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
            last = key
            last_count = count
        #print(key, count)
    j+=1

print(last, last_count)
Enter fullscreen mode Exit fullscreen mode
t 1
Enter fullscreen mode Exit fullscreen mode

7. Last repeated letter


last = ' '
last_count = 0 
s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
            last = key
            last_count = count
        #print(key, count)
    j+=1

print(last, last_count)
Enter fullscreen mode Exit fullscreen mode
i 2
Enter fullscreen mode Exit fullscreen mode

8. Most Frequent letter

s = 'lakshmipritha'
name = list(s)
j = 0 
last = ' '
last_count = 0 

while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        if count>last_count:
            last = key
            last_count = count
    j+=1

print(last, last_count)
Enter fullscreen mode Exit fullscreen mode
a 2
Enter fullscreen mode Exit fullscreen mode

9. Frequency of Vowels (a,e,i,o,u)

vowels = ['a','e','i','o','u']
last = ' '
last_count = 0 
s = 'lakshmipritha'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    if key in vowels:
        count = 1
        i = j+1
        if key != '*':
            while i<len(name):
                if key == name[i]:
                    name[i] = '*'
                    count+=1
                i+=1
        if key!='*':
            print(key, count)
    j+=1

Enter fullscreen mode Exit fullscreen mode
a 2
i 2
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

đź‘‹ Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay