我在python 3.6.5中有一个列表,如下所示
a_list = [['name1', 5, 6, 3, 7], ['name3', 2, 6, 3, 6], ['name3', 2, 10, 8, 5]]
所以它基本上是名字,得分1,得分2等。
我想将分数加起来并将其排名从最高到最低
到目前为止,我有
a_list.sort(a_list, key=lambda x: x[not sure what to put here], reverse=True)
我需要一种在不影响str字段的情况下将列表中的数字相加的方法。
我怎样才能做到这一点?
答案 0 :(得分:2)
这应该有效:
a_list = [['name1', 5, 6, 3, 7], ['name3', 2, 6, 3, 6], ['name3', 2, 10, 8, 5]]
a_list.sort(key=lambda x: sum(x[1:]), reverse=True)
print(a_list)
输出:
[['name3', 2, 10, 8, 5], ['name1', 5, 6, 3, 7], ['name3', 2, 6, 3, 6]]