为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

茅侃侃 2022-06-07 19:58:01
我有一个看起来像的列表: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')例如。但是有没有更快的方法来实现这一点?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

您可以使用集合来过滤单词,例如:


from collections import Counter


needles = {'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})


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信