首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python-计算单词列表中的每个字母

Python-计算单词列表中的每个字母
EN

Stack Overflow用户
提问于 2011-06-15 12:35:33
回答 6查看 15.9K关注 0票数 1

所以我有一个单词列表` `wordList = list ()。现在,我正在使用下面的代码计算整个列表中每个单词中的每个字母

代码语言:javascript
复制
cnt = Counter()
for words in wordList:
      for letters in words:
          cnt[letters]+=1

但是,我希望它以不同的方式计算。我希望这个函数能从列表中的所有单词中找到最常见的字母,但只对每个单词的每个字母计数一次(忽略某些单词可以有同一字母的多个副本的事实)。

例如,如果列表中包含“happy,harpy和hasty”,那么happy中的两个p应该只计算一次。因此,该函数应该返回频率最高的字母列表(按顺序),而不会重复计数。在上面的情况下,它将是'h,a,p,y,r,s‘

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-06-15 12:37:55

代码语言:javascript
复制
cnt = Counter()
for words in wordList:
      for letters in set(words):
          cnt[letters]+=1
票数 7
EN

Stack Overflow用户

发布于 2011-06-15 12:39:16

添加set调用:

代码语言:javascript
复制
cnt = Counter()
for word in wordList:
      for letter in set(word):
          cnt[letter]+=1
票数 6
EN

Stack Overflow用户

发布于 2011-06-15 13:22:28

itertools中使用迭代器组合器的另一种方法

代码语言:javascript
复制
import collections
import itertools

cnt = collections.Counter(itertools.chain.from_iterable(itertools.imap(set, wordList)))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6353049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档