Skip to main content
 首页 » 编程设计

python之对元组列表进行排序,元组的第二个元素是列表

2025年05月04日15tuyile006

我有一个元组列表

[("Alice", [1, 2, 1, 1, 1, 1]), ("Bob", [3, 1, 5, 3, 2, 5]), ("Clare", [2, 3, 2, 2, 4, 2]), ("Dennis", [5, 4, 4, 4, 3, 4]), ("Eva", [4, 5, 3, 5, 5, 3])] 

我想要输出:

[("Alice", [1, 2, 1, 1, 1, 1]), ("Clare", [2, 3, 2, 2, 4, 2]), ("Bob", [3, 1, 5, 3, 2, 5]),("Dennis", [5, 4, 4, 4, 3, 4]), ("Eva", [4, 5, 3, 5, 5, 3])] 

我希望根据元组中列表的总和对元组进行排序。

目前我有:

c = sorted(b, key=lambda x: (x[0], sum(x[1]))) 
 return c 

任何帮助将不胜感激

请您参考如下方法:

我认为key应该只是列表的总和,而不是元组,这意味着:

c = sorted(b, key=lambda x: sum(x[1])) 

Read more about sorting.