以下是一个Python代码示例,演示如何按状态值对列表进行分组,并计算相同状态值的总数。
from collections import defaultdict
def group_and_count(lst):
# 使用defaultdict创建一个字典,key为状态值,value为出现的次数
groups = defaultdict(int)
# 遍历列表
for item in lst:
# 获取状态值
status = item['status']
# 增加对应状态值的计数
groups[status] += 1
return dict(groups)
# 示例列表
lst = [
{'id': 1, 'status': 'A'},
{'id': 2, 'status': 'B'},
{'id': 3, 'status': 'A'},
{'id': 4, 'status': 'C'},
{'id': 5, 'status': 'B'},
{'id': 6, 'status': 'A'},
]
# 调用函数进行分组和计数
result = group_and_count(lst)
# 输出结果
for status, count in result.items():
print(f"状态值 {status} 出现了 {count} 次")
运行以上代码,将得到以下输出:
状态值 A 出现了 3 次
状态值 B 出现了 2 次
状态值 C 出现了 1 次
这个示例中,我们使用defaultdict
创建了一个字典,用于存储状态值和对应的计数。然后,我们遍历列表中的每个元素,获取其状态值,并在字典中增加对应状态值的计数。最后,我们将字典转换为普通的字典类型,并打印每个状态值和对应的计数。
上一篇:按状态显示畅销商品
下一篇:按状态值排序显示记录