Given the string:
a='dqdwqfwqfggqwq'
How do I get the number of occurrences of each character?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
In 2.7 and 3.1 there’s a tool called Counter:
>>> import collections
>>> results = collections.Counter("dqdwqfwqfggqwq")
>>> results
Counter({'q': 5, 'w': 3, 'g': 2, 'd': 2, 'f': 2})
Docs. As pointed out in the comments it is not compatible with 2.6 or lower, but it’s backported.
Method 2
Not highly efficient, but it is one-line…
In [24]: a='dqdwqfwqfggqwq'
In [25]: dict((letter,a.count(letter)) for letter in set(a))
Out[25]: {'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}
Method 3
You can do this:
listOfCharac={}
for s in a:
if s in listOfCharac.keys():
listOfCharac[s]+=1
else:
listOfCharac[s]=1
print (listOfCharac)
Output {'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}
This method is efficient as well and is tested for python3.
Method 4
For each letter count the difference between string with that letter and without it, that way you can get it’s number of occurences
a="fjfdsjmvcxklfmds3232dsfdsm" dict(map(lambda letter:(letter,len(a)-len(a.replace(letter,''))),a))
Method 5
lettercounts = {}
for letter in a:
lettercounts[letter] = lettercounts.get(letter,0)+1
Method 6
python code to check the occurrences of each character in the string:
word = input("enter any string = ")
for x in set(word):
word.count(x)
print(x,'= is', word.count(x))
Please try this code if any issue or improvements please comments.
Method 7
one line code for finding occurrence of each character in string.
for i in set(a):print(‘%s count is %d’%(i,a.count(i)))
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0