以下是一个示例代码,用于按ID分组计算列表中的更改次数。
from collections import defaultdict
def calculate_change_counts(data):
# 创建一个字典,用于存储每个ID的更改次数
change_counts = defaultdict(int)
# 遍历列表中的每一个元素
for item in data:
# 获取元素的ID和更改状态
id = item['id']
status = item['status']
# 如果更改状态为True,则将该ID的更改次数加1
if status == True:
change_counts[id] += 1
# 返回每个ID的更改次数字典
return dict(change_counts)
# 示例数据
data = [
{'id': 1, 'status': True},
{'id': 2, 'status': False},
{'id': 1, 'status': True},
{'id': 3, 'status': True},
{'id': 2, 'status': True},
{'id': 3, 'status': True},
{'id': 1, 'status': False},
{'id': 3, 'status': False}
]
# 调用函数进行计算
change_counts = calculate_change_counts(data)
# 输出结果
print(change_counts)
输出结果:
{1: 2, 2: 1, 3: 2}
以上代码使用defaultdict
创建一个默认值为0的字典,并遍历给定的列表。对于每个元素,首先获取其ID和更改状态。如果更改状态为True,则将该ID的更改次数加1。最后,将每个ID的更改次数字典返回并打印输出。
上一篇:按id分组计算比率
下一篇:按id分组计算事件数量