下面是一个示例代码,演示如何按某个键名分组计数对象数组中的值:
from collections import defaultdict
# 定义一个对象数组
objects = [
{"name": "apple", "color": "red"},
{"name": "banana", "color": "yellow"},
{"name": "cherry", "color": "red"},
{"name": "date", "color": "brown"},
{"name": "elderberry", "color": "purple"},
{"name": "fig", "color": "purple"},
{"name": "grape", "color": "purple"},
{"name": "apple", "color": "red"},
{"name": "banana", "color": "yellow"},
{"name": "apple", "color": "red"},
]
# 使用 defaultdict 创建一个空字典,值的类型为整数
count_by_color = defaultdict(int)
# 遍历对象数组,按颜色进行计数
for obj in objects:
color = obj["color"]
count_by_color[color] += 1
# 打印计数结果
for color, count in count_by_color.items():
print(f"{color}: {count}")
输出结果:
red: 4
yellow: 2
brown: 1
purple: 3
这里使用了 defaultdict
来创建一个空字典,并将默认值设置为整数类型。然后,遍历对象数组,获取每个对象的颜色属性,并将计数器加1。最后,打印计数结果。
上一篇:按模式重命名列名