python:转换频率图列表的快速方法

2024-09-28 17:03:18 发布

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

[“a”,“a”,“a”,“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

Tags: 方法inforifnot事情dict词典
2条回答

在Python2.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})
from collections import Counter

print(Counter(["A","A","A","B","B","B"]))

相关问题 更多 >