排序(重新排列)列表

时间:2019-04-30 07:31:11

标签: python

我一直在努力对列表进行排序或重新排列。我想基于数字(列表中的最后一个元素)以降序对列表进行排序。
因此,理想情况下,带有(297539)的列表将排在最前面;而带有(234933)的列表将位于底部:

[...., '297539']
[..]
[..]
[...., '234933']

有人可以帮我吗?非常感谢。 这是我到目前为止所做的output

2 个答案:

答案 0 :(得分:3)

sorted与自定义key函数一起使用:

# example list
l = [['a', '297539'],['sas', '257539'],['absdas', '287539'],['xasd', '234933']]
sorted(l, key=lambda x: int(x[-1]), reverse=True)
# [['a', '297539'], ['absdas', '287539'], ['sas', '257539'], ['xasd', '234933']]

答案 1 :(得分:1)

使用itemgetter可以处理循环

from operator import itemgetter
a = [['a', '297539'],['sas', '257539'],['absdas', '287539'],['xasd', '234933']]
a = sorted(a, key=itemgetter(1),reverse=True)
print(a)