在Python中对嵌套列表数据进行排序

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)