python - 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}
如何做到这一点?
解决方案
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
推荐阅读
- python-3.x - 如何在pickle python中控制存储数组
- xamarin - 在 listview xamarin 表单中切换开关时访问名称
- xslt - 在将参数发送到 XSLT 中的函数时对列表进行排序
- java - Cassandra 3.2 在 cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I 崩溃
- javascript - 仅在双击 Angular 中的单击事件时更新组件
- ruby - 运行 vagrant up 时 ssh 冻结
- ruby-on-rails - Rails number_field_tag 输入无效
- pandas - 使用 pandas 计算回溯期
- c# - 如何更改 DataGrid 选定的行颜色 WPF
- amazon-web-services - 动态 AWS Sam 计划事件输入参数