Python:计算列表中符号的频率

时间:2015-01-13 14:36:27

标签: python list frequency

我有一个名为' words'包含编码的单词(符号):

['#+/084&"', '#3*#%#+', '8%203:', ',1$&', '!-*%', '.#7&33&', '#*#71%', "&-&641'2", '#))85', '9&330*']  

我需要能够打印出整个列表中使用的符号的频率。我试过使用' Counter'来自'集合'。但是,它将列表中的每个项目视为单个元素,而不是列表中的每个单独符号(如下所示):

Counter({"&-&641'2": 1, '#))85': 1, '!-*%': 1, '8%203:': 1, ',1$&': 1, '9&330*': 1, '#*#71%': 1, '#+/084&"': 1, '#3*#%#+': 1, '.#7&33&': 1})

有没有办法让计数器计算每个符号?

1 个答案:

答案 0 :(得分:1)

您需要将字符串连接在一起,然后使用Counter

>>> Counter(''.join(l))
Counter({'#': 8, '&': 7, '3': 6, '%': 4, '*': 4, '1': 3, '0': 3, '8': 3, ')': 2, '+': 2, '-': 2, '2': 2, '4': 2, '7': 2, '!': 1, '"': 1, '$': 1, "'": 1, ',': 1, '/': 1, '.': 1, '5': 1, '6': 1, '9': 1, ':': 1})