使用计数器在列表中创建特定单词的字典

我有一个看起来像的列表:

my_list = ['singapore','india','united states','london','paris','india','london','china','singapore','singapore','new york']

现在我想要Counter[dict]这个列表中唯一的特定单词

Counter(my_list) gives me the following :
Counter({'singapore': 3, 'india': 2, 'london': 2, 'united states': 1, 'paris': 1, 'china': 1, 'new york': 1})

但是有没有办法从列表中创建一个仅包含特定单词的计数器,例如 Counter of words in['london','india','singapore']

最快的方法是什么?我的清单很大。

我尝试了什么:my_list.count('london')例如。但是有没有更快的方法来实现这一点?


茅侃侃
浏览 106回答 1
1回答

慕森王

您可以使用集合来过滤单词,例如:from collections import Counterneedles = {'london', 'india', 'singapore'}haystack = ['singapore', 'india', 'united states', 'london', 'paris', 'india',            'london', 'china', 'singapore', 'singapore', 'new york']result = Counter(value for value in haystack if value in needles)print(result)输出Counter({'singapore': 3, 'india': 2, 'london': 2})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python