要按每个组的小计值进行排序,可以使用以下步骤:
sorted()
函数对列表进行排序,可以指定按小计值进行排序。下面是一个示例代码:
data = [
{'group': 'A', 'value': 5},
{'group': 'B', 'value': 10},
{'group': 'A', 'value': 3},
{'group': 'B', 'value': 7},
{'group': 'C', 'value': 2},
]
# Step 1: 计算每个组的小计值
subtotal = {}
for item in data:
group = item['group']
value = item['value']
if group in subtotal:
subtotal[group] += value
else:
subtotal[group] = value
# Step 2: 将字典转换为列表
subtotal_list = list(subtotal.items())
# Step 3: 按小计值排序
sorted_list = sorted(subtotal_list, key=lambda x: x[1])
# Step 4: 输出结果
for item in sorted_list:
group = item[0]
subtotal_value = item[1]
print(f"Group: {group}, Subtotal: {subtotal_value}")
以上代码将输出:
Group: C, Subtotal: 2
Group: A, Subtotal: 8
Group: B, Subtotal: 17
这样,我们就按每个组的小计值进行了排序。
下一篇:按每个组的子组进行分组并汇总