首页 > 解决方案 > Python计算字典列表中的值

问题描述

假设我有这个字典列表:

c = [
    {"name": "Tom", "age": 10, "tag": "kid"},
    {"name": "Mark", "age": 35, "tag": "adult" },
    {"name": "Pam", "age": 70, "tag": "very old"},
    {"name": "Neo", "age": 16, "tag": "teenager"},
    {"name": "Anna", "age": 9, "tag": "kid"}
]

我想编写一个迭代列表c(并返回字典)的函数,以获取 的值tag在字典列表中出现的次数。在这种情况下,它应该返回一个像这样的字典:

f = {"kid": 2, "adult": 1, "very old": 1, "teenager": 1}

如何做到这一点?

标签: pythonlistdictionary

解决方案


from collections import Counter
print(Counter(el["tag"] for el in c))
Counter({'kid': 2, 'adult': 1, 'very old': 1, 'teenager': 1})

Counter是的子类,dict可以像dict


推荐阅读