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

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more