2024-05-05 13:48:26 发布
网友
我在尝试做一些事情,比如用python语言对奖牌榜进行排名。我有一个不断增长的清单。列表中的每个元素都是一个包含四个元素的列表。在
例如:L = [[0,1,2,3],[3,0,6,2]]
L = [[0,1,2,3],[3,0,6,2]]
我试图对这个列表中的元素进行排序,结果是(对于上面的示例):
也就是说,像奖牌榜,里面的第一个元素是金,第二个元素是银,等等
在python中有没有一种简单的方法可以做到这一点?在
您只需使用内置的sorted
sorted(L, reverse=True)
[编辑:上面的数字将按黄金的总数排序,然后是银的数量等等。这似乎是对金属进行排名的最常用方法(参见Metal Tally here))。您还可以定义自己的函数,并使用cmp关键字以不同的方式对它们进行排序。]
如果你要找的是根据谁拥有最多奖牌的降序排序,你可以使用:
L = [[0,1,2,3],[3,0,6,2],[0,0,0,22]] sorted(L, key=sum, reverse=True)
指定sum作为键会导致sorted调用每个元素上的函数来计算键值。在
sum
不需要做任何花哨的事情,这就是内置的sorted所做的。在
sorted
L = [[0,1,2,3],[3,0,6,2],[3,0,5,2],[3,0,6,3],[11,1,0,0],[3,0,7,1]] sorted(L,reverse=True) [[11, 1, 0, 0], [3, 0, 7, 1], [3, 0, 6, 3], [3, 0, 6, 2], [3, 0, 5, 2], [0, 1, 2, 3]]
您只需使用内置的sorted
[编辑:上面的数字将按黄金的总数排序,然后是银的数量等等。这似乎是对金属进行排名的最常用方法(参见Metal Tally here))。您还可以定义自己的函数,并使用cmp关键字以不同的方式对它们进行排序。]
如果你要找的是根据谁拥有最多奖牌的降序排序,你可以使用:
指定
sum
作为键会导致sorted调用每个元素上的函数来计算键值。在不需要做任何花哨的事情,这就是内置的
sorted
所做的。在相关问题 更多 >
编程相关推荐