我一直在努力对列表进行排序或重新排列。我想基于数字(列表中的最后一个元素)以降序对列表进行排序。
因此,理想情况下,带有(297539)的列表将排在最前面;而带有(234933)的列表将位于底部:
[...., '297539']
[..]
[..]
[...., '234933']
有人可以帮我吗?非常感谢。 这是我到目前为止所做的output
答案 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)