有没有办法使用 sort() 方法或任何其他方法按列对列表进行排序?可以说我有清单:
[
[John,2],
[Jim,9],
[Jason,1]
]
我想对其进行排序,使其看起来像这样:
[
[Jason,1],
[John,2],
[Jim,9],
]
做到这一点的最佳方法是什么?
Edit:
现在我遇到了索引超出范围错误。我有一个 2 维数组,可以说 1000 行 3 列。我想根据第三列对其进行排序。这是正确的代码吗?
sorted_list = sorted(list_not_sorted, key=lambda x:x[2])
是的。这sorted
内置接受一个key
争论:
sorted(li,key=lambda x: x[1])
Out[31]: [['Jason', 1], ['John', 2], ['Jim', 9]]
注意sorted
返回一个新列表。如果您想就地排序,请使用.sort
列表的方法(它也可以方便地接受key
争论)。
或者,
from operator import itemgetter
sorted(li,key=itemgetter(1))
Out[33]: [['Jason', 1], ['John', 2], ['Jim', 9]]
在 python wiki 上阅读更多内容 https://wiki.python.org/moin/HowTo/Sorting/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)