例如,如果我们有很多名称的列表。如何计算序列中的出现次数?更确切地说,如何使用groupby对列表进行排序和计数? 我的情况是,列表不仅是['a','b','c','d']。我有60根很长的琴弦。
答案 0 :(得分:0)
itertools.groupby是用于计算序列中出现次数的好工具。
import itertools
name_test_random = [**a list of a lot of names**]
valdict = dict((k, len(list(g)))
for k, g in itertools.groupby(name_test_random))
for key, val in valdict.items():
print(key, ":", val)
答案 1 :(得分:0)
使用Counter
中的collections
:
l = np.random.choice(list('asdf'), 10)
# array(['f', 's', 's', 'a', 'f', 'a', 'a', 'd', 'd', 'd'], dtype='<U1')
from collections import Counter
Counter(l)
# Counter({'f': 2, 's': 2, 'a': 3, 'd': 3})