Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对元组列表进行排序,元组的第二个元素是列表_Python_List_Sorting_Tuples - Fatal编程技术网

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

Python 对元组列表进行排序,元组的第二个元素是列表,python,list,sorting,tuples,Python,List,Sorting,Tuples,我有一个元组列表 [("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,

我有一个元组列表

[("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

任何帮助都将不胜感激

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

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

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

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

如果需要进行排序(使用排序结果更新列表):


如果您想要一个包含排序结果的新列表,您可以按照@Reut Sharabani的建议进行操作。

如果您需要排序(使用排序结果更新列表):


如果你想要一个带有排序结果的新列表,你可以按照@Reut Sharabani的建议来做。

你知道
(x[0],sum(x[1])
做什么吗?你知道
(x[0],sum(x[1])做什么吗?
 x = [("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])]
 x.sort(key=lambda i: sum(i[1]))