2024-04-29 16:41:00 发布
网友
这是我的名单:
[['Alfred Jeffries', '9'], ['Peter Smalls', '10'], ['Bob Daniels', '8']]
我想按数字排序,从高到低。在
预期结果:
谢谢!在
这个问题已经有了一个优雅的答案,但我想用itemgetter。在
如果列表中有数字而不是strings('9','8','10') 会容易得多
strings('9','8','10')
In [7]: a=[['Alfred Jeffries', 9], ['Peter Smalls', 10], ['Bob Daniels', 8]] In [8]: sorted(a,key=itemgetter(1), reverse=True) Out[8]: [['Peter Smalls', 10], ['Alfred Jeffries', 9], ['Bob Daniels', 8]]
我需要使用字符串,因为我需要理解列表。在
输出
[['Peter Smalls', '10'], ['Alfred Jeffries', '9'], ['Bob Daniels', '8']]
使用key指定一个包含一个参数的函数,用于从每个列表元素中提取比较键。参数reverse是一个布尔值。如果设置为True,则对列表元素进行排序,就像每个比较都颠倒了一样。在
key
reverse
>>> l = [['Alfred Jeffries', '9'], ['Peter Smalls', '10'], ['Bob Daniels', '8']] >>> sorted(l, key=lambda x: int(x[1]), reverse=True) [['Peter Smalls', '10'], ['Alfred Jeffries', '9'], ['Bob Daniels', '8']]
这个问题已经有了一个优雅的答案,但我想用itemgetter。在
如果列表中有数字而不是
strings('9','8','10')
会容易得多我需要使用字符串,因为我需要理解列表。在
^{pr2}$输出
使用
key
指定一个包含一个参数的函数,用于从每个列表元素中提取比较键。参数reverse
是一个布尔值。如果设置为True,则对列表元素进行排序,就像每个比较都颠倒了一样。在相关问题 更多 >
编程相关推荐