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

标签 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, 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.

关于python - 对元组列表进行排序,元组的第二个元素是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27401369/

相关文章:

python - 试图创建一个解决迷宫的程序,但它卡在了特定的路径上

Python 给出 AttributeError : 'PngImageFile' object has no attribute 'read' with Pillow

javascript - 为什么这个 JavaScript 数组返回未定义?

c++ - 排序并跟踪元素

jquery - Slickgrid 电子表格插件数字排序

python - Redis 锁定一个 KEY

python - 什么是迭代器、可迭代和迭代?

python - 删除列表中的重复项

python - 为什么这段代码在某些情况下会引发 IndexError?

python - 列表中的两个以下元素