我有一个很长的Python列表,想计算一个字符出现的次数。例如,“o”总共发生了多少次?我要N=4。在
lexicon = ['yuo', 'want', 'to', 'sioo', 'D6', 'bUk', 'lUk'], etc.
在列表.计数()是显而易见的解决办法。但是,它始终返回0。我找哪个角色都无所谓。我已经仔细检查了我的文件-我要搜索的字符肯定在那里。我碰巧在for循环中计算count():
^{pr2}$但它在for循环之外,也在列表“lexicon”上返回0。我不想要一份总计数的清单,所以我认为计数器不起作用。在
有什么想法?在
如果我们接受您的
list
(您提供的缩短版本):然后我们可以使用
^{pr2}$sum()
和generator-expression
来获得计数:因此,如果},因为{}有两次出现。在
c
是'k'
,这将得到{这将在
for-loop
中工作,因此您应该能够自己将其合并到更广泛的代码中。在通过您的最新编辑,我可以确认这会为您修改的列表中的
4
生成一个4
的计数。在如果我没听错你的问题,你想计算一下列表中每个单词每个字符出现的次数。这被称为频率分布。在
下面是一个使用
Counter
的简单实现使用
^{pr2}$freq_dist
,可以返回一个字符的出现次数。在它给零是因为}。
如果你想计算字符的频率,就这样
sample.count('K')
将匹配k
作为字符串。它不会考虑buk
或{相关问题 更多 >
编程相关推荐