3 回答

TA贡献1825条经验 获得超6个赞
collections.Counter
from collections import Counter
counts = Counter([x['title'] for x in employees])
print(counts)
# Counter({'Mr': 2, 'Mrs': 1, 'Ms': 1})
如果有任何没有title字段的记录,请使用:
counts = Counter([x.get("title", None) for x in employees])
# Counter({'Mr': 2, 'Mrs': 1, 'Ms': 1, None: 1})
在这里,如果不存在,.get将获取title或返回的值。Nonetitle

TA贡献1802条经验 获得超6个赞
使用 collections.defaultdict
前任:
from collections import defaultdict
result = defaultdict(int)
for i in employees:
result[i["title"]] += 1
print(result)
输出:
defaultdict(<type 'int'>, {'Mrs': 1, 'Ms': 1, 'Mr': 2})

TA贡献1998条经验 获得超6个赞
你可以用一个计数器来做到这一点:
from collection import Counter
titles = [e['title'] for e in employees]
counts = Counter(titles)
# Counter({'Mr': 2, 'Mrs': 1, 'Ms': 1})
添加回答
举报