forked from seeditsolution/pythonprogram
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstringPopulation
More file actions
19 lines (19 loc) · 610 Bytes
/
stringPopulation
File metadata and controls
19 lines (19 loc) · 610 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from collections import defaultdict
import string
def extract_popular(textstring):
"""
Input: string
Output: dictionary with counts for each character in a string
"""
d = defaultdict(int)
exclude = set(string.punctuation)
textstring = textstring.lower()
textstring = ''.join(ch for ch in textstring if ch not in exclude)
for c in textstring:
d[c] += 1
counts = [(d[c], c) for c in d]
counts.sort()
counts.reverse()
return counts
print(extract_popular("A man, a plan, a canal: Panama"))
print(extract_popular("Testing, attention please"))