📅  最后修改于: 2023-12-03 15:04:12.197000             🧑  作者: Mango
在Python中,我们可以使用字典列表来保存一些键值对数据。有时需要统计每个键对应的值出现的频率。本文将介绍如何通过Python来实现。
collections
库提供了 Counter
类来支持计数器功能。
from collections import Counter
data = [
{'name': 'Tom', 'age': 18},
{'name': 'Jerry', 'age': 21},
{'name': 'Mike', 'age': 18},
{'name': 'Jack', 'age': 21},
{'name': 'David', 'age': 18},
]
ages = [i['age'] for i in data]
cnt = Counter(ages)
print(cnt)
输出结果为:
Counter({18: 3, 21: 2})
以上代码中,我们先将列表中每个元素的 age
属性提取出来,然后使用 Counter
类来统计每个年龄出现的次数。最后输出结果为一个字典,其中键是年龄,值是出现的次数。
如果不想使用 collections
库,我们可以自己实现计数器。
data = [
{'name': 'Tom', 'age': 18},
{'name': 'Jerry', 'age': 21},
{'name': 'Mike', 'age': 18},
{'name': 'Jack', 'age': 21},
{'name': 'David', 'age': 18},
]
ages = [i['age'] for i in data]
cnt = {}
for age in ages:
if age in cnt:
cnt[age] += 1
else:
cnt[age] = 1
print(cnt)
输出结果同上。
本文介绍了使用 collections.Counter
和自己实现计数器两种方式来统计字典列表中键对应的值出现的频率。