【发布时间】:2019-02-24 21:35:33
【问题描述】:
我有一个嵌套列表
list_a =
[['1 order', 15, 3 ],
['1 order', 29, 2],
['1 order', 5, 1],
['2 order', 2, 3],
['2 order', 1, 2],
['2 order', 17, 1],
['3 order', 2, 3],
['3 order', 10, 2],
['3 order', 1, 1]]
对第二个元素应用排序后
sort_by_second_attribute = sorted(list_a, key = lambda k : k[1])
输出是
[['2 order', 1, 2],
['3 order', 1, 1],
['2 order', 2, 3],
['3 order', 2, 3],
['1 order', 5, 1],
['3 order', 10, 2],
['1 order', 15, 3],
['2 order', 17, 1],
['1 order', 29, 2]]
但是,我想保持第一个属性的排序顺序,然后对第二个属性进行排序。我想要的输出是
[['1 order', 5, 3],
['1 order', 15, 2],
['1 order', 29, 1],
['2 order', 1, 3],
['2 order', 2, 2],
['2 order', 17, 1],
['3 order', 1, 3],
['3 order', 2, 2],
['3 order', 10, 1]]
【问题讨论】:
-
您要问的是(几乎)默认排序机制:
sorted_list = sorted(list_a)。