Python程序:按值的总和对字典列表进行排序
当需要按其值的总和对字典列表进行排序时,我们定义一个方法,使用“sum”方法来确定结果。
下面是相同的示例 –
例子
def sum_value(row):
return sum(list(row.values()))
my_dict = [{21 : 13, 44 : 35, 34 : 56}, {11 : 75, 70 : 19, 39 : 70}, {1 : 155}, {48 : 29, 17 : 53}]
print("该字典为:")
print(my_dict)
my_dict.sort(key = sum_value)
print("结果为:")
print(my_dict)
输出
该字典为:
[{34: 56, 44: 35, 21: 13}, {11: 75, 70: 19, 39: 70}, {1: 155}, {48: 29, 17: 53}]
结果为:
[{48: 29, 17: 53}, {34: 56, 44: 35, 21: 13}, {1: 155}, {11: 75, 70: 19, 39: 70}]
解释
-
定义了名为“sum_value”的方法, 以行为参数,并使用“.values”和“sum”方法返回行值的总和。
-
定义了一个整数字典,并在控制台上显示。
-
对字典进行排序并调用先前定义的值作为键的方法。
-
这是在控制台上显示的输出结果。