如何按“列”对列表列表进行排序,即按每个列表的第 i 个元素对列表进行排序?
例如:
a=[['abc',5],
['xyz',2]]
print sortByColumn(a,0)
[['abc',5],
['xyz',2]]
print sortByColumn(a,1)
[['xyz',2],
['abc',5]]
Run Code Online (Sandbox Code Playgroud)
您可以使用sort其key参数等于 a lambda function:
sorted(a, key=lambda x: x[0])
[['abc', 5], ['xyz', 2]]
sorted(a, key=lambda x: x[1])
[['xyz', 2], ['abc', 5]]
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用keywith operator.itemgetter,它创建所需的 lambda 函数:
from operator import itemgetter
sorted(a, key=itemgetter(1))
[['xyz', 2], ['abc', 5]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5162 次 |
| 最近记录: |