频率大于1的Python常用词列表

2024-06-11 17:20:38 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我在这里有一个列表:

list = ['cat', 'dog', 'wolf', 'cat', 'wolf', 'cat', 'sheep', 'sheep']

我只想获取那些公共频率大于1的单词

结果列表应为:

['cat', 'wolf', 'sheep']

有人能帮我吗


Tags: 列表单词listcat频率dogsheepwolf
2条回答
list = ['cat', 'dog', 'wolf', 'cat', 'wolf', 'cat']

items_map = {}
for item in list:
    if item not in items_map.keys():
        items_map[item] = 1
    else:
        items_map[item] += 1

result = []

for key in items_map.keys():
    if items_map[key] > 1:
        result.append(key)

print(result)

您可以使用^{}来计算重复次数,然后使用列表理解来仅保留计数大于1的重复次数

>>> from collections import Counter
>>> words = ['cat', 'dog', 'wolf', 'cat', 'wolf', 'cat', 'sheep', 'sheep']
>>> c = Counter(words)
>>> [k for k, v in c.items() if v > 1]
['cat', 'wolf', 'sheep']

相关问题 更多 >