Python: sorting a list by “column”
本问题已经有最佳答案,请猛点这里访问。
如何按"列"对列表进行排序,即按每个列表的第i个元素对列表进行排序?
例如:
1 2 3 4 5 6 7 8 9 10 11 12 | a=[['abc',5], ['xyz',2]] print sortByColumn(a,0) [['abc',5], ['xyz',2]] print sortByColumn(a,1) [['xyz',2], ['abc',5]] |
你可以用
1 2 3 4 5 | sorted(a, key=lambda x: x[0]) [['abc', 5], ['xyz', 2]] sorted(a, key=lambda x: x[1]) [['xyz', 2], ['abc', 5]] |
另一种方法是将
1 2 3 | from operator import itemgetter sorted(a, key=itemgetter(1)) [['xyz', 2], ['abc', 5]] |
号