获取每个字符的出现次数

8 投票
7 回答
32821 浏览
提问于 2025-04-16 13:00

给定这个字符串:

a='dqdwqfwqfggqwq'

我该如何计算每个字符出现的次数呢?

7 个回答

3

你可以这样做:

listOfCharac={}
for s in a:
    if s in listOfCharac.keys():
        listOfCharac[s]+=1
    else:
        listOfCharac[s]=1
print (listOfCharac)

输出 {'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}

这个方法很有效,而且已经在python3上测试过了。

19

在2.7和3.1版本中,有一个叫做Counter的工具:

>>> import collections
>>> results = collections.Counter("dqdwqfwqfggqwq")
>>> results
Counter({'q': 5, 'w': 3, 'g': 2, 'd': 2, 'f': 2})

文档。评论中提到,它不支持2.6或更低的版本,不过可以通过回溯的方式使用。

17

虽然效率不是特别高,但这只用了一行代码...

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}

撰写回答