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”方法返回行值的总和。

  • 定义了一个整数字典并显示在控制台上。

  • 字典已排序,并通过将键作为先前定义的值传递来调用该方法。

  • 这是显示在控制台上的输出。