Lok*_*ahu 7 python sorting nested list
我正在尝试对 python(3.8.5) 中的嵌套列表进行排序。我有一个清单,例如 -
[['1', 'A', 2, 5, 45, 10],
['2', 'B', 8, 15, 65, 20],
['3', 'C', 32, 35, 25, 140],
['4', 'D', 82, 305, 75, 90],
['5', 'E', 39, 43, 89, 55],
]
Run Code Online (Sandbox Code Playgroud)
我想这样排序 -
[['4', 'D', 82, 305, 75, 90],
['5', 'E', 39, 43, 89, 55],
['3', 'C', 32, 35, 25, 140],
['2', 'B', 8, 15, 65, 20],
['1', 'A', 2, 5, 45, 10],
]
Run Code Online (Sandbox Code Playgroud)
它按索引 2 的列排序。根据索引,更像这样。从索引 2 开始,依此类推。我的意思是它已根据列排序。我可以这样做吗?
小智 8
尝试这个:
lst = [['1', 'A', 2, 5, 45, 10],
['2', 'B', 8, 15, 65, 20],
['3', 'C', 32, 35, 25, 140],
['4', 'D', 82, 305, 75, 90],
['5', 'E', 39, 43, 89, 55],
]
lst = sorted(lst, key=lambda x: x[2], reverse=True)
print(lst)
Run Code Online (Sandbox Code Playgroud)
小智 1
使用子列表的第二个元素对元组进行排序的代码就地排序使用sort():
def sort(sub_li):
# reverse = None (Sorts in Ascending order)
# key is set to sort using second element of
# sublist lambda has been used
sub_li.sort(key = lambda x: x[2],reverse=True)
return sub_li
# Driver Code
sub_li =[['1', 'A', 2, 5, 45, 10],
['2', 'B', 8, 15, 65, 20],
['3', 'C', 32, 35, 25, 140],
['4', 'D', 82, 305, 75, 90],
['5', 'E', 39, 43, 89, 55],
]
print(Sort(sub_li))
Run Code Online (Sandbox Code Playgroud)