【问题标题】:python: fast way to translate a list of a frequency map [duplicate]python:翻译频率图列表的快速方法[重复]
【发布时间】:2019-11-08 22:18:21
【问题描述】:

["A","A","A","B","B","B"]的列表

到字典 {'A': 3, “B”:3}

我已经完成了类似下面的操作,但我觉得有更快/更短的方法吗?

frequencyMap = dict()
letters = ["A","A","A","B","B","B"]

for letter in letters:
    if letter not in frequencyMap:
        frequencyMap[letter] = 0
    frequencyMap[letter] += 1

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    在 Python 2.7(或更高版本)中,您可以使用 collections.Counter

    collections.Counter()

    计数器是将元素存储为字典键的容器,其计数存储为字典值。

    import collections
    a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
    counter=collections.Counter(a)
    print(counter)
    # Counter({1: 4, 2: 4, 3: 2, 5: 2, 4: 1})
    

    【讨论】:

      【解决方案2】:
      from collections import Counter
      
      print(Counter(["A","A","A","B","B","B"]))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 2019-02-11
        • 1970-01-01
        • 2012-08-08
        • 1970-01-01
        • 2019-09-17
        相关资源
        最近更新 更多