【问题标题】:Python Common Word List with Frequency Greater than 1 [duplicate]频率大于1的Python常用单词列表[重复]
【发布时间】:2021-08-09 01:48:14
【问题描述】:

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

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

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

结果列表应该是:

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

谁能帮我解决这个问题?

【问题讨论】:

  • 'wolf' 的频率不大于 2

标签: python list


【解决方案1】:

您可以使用collections.Counter 计算重复次数,然后使用列表推导式仅保留次数大于 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']

【讨论】:

    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 2019-02-01
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多