基于特定元素位置对列表进行排序

时间:2016-04-30 12:24:37

标签: python sorting

假设我有3个列表:

a = [1, 4, 7]
b = [3, 9, 6]
c = [2, 5, 8]

我想要一个最终列表:

d = [[1, 4, 7], [2, 5, 8], [3, 9, 6]]

喜欢根据子数组中的第一个元素进行排序。

1 个答案:

答案 0 :(得分:3)

使用将三个列表组合成一个更大的列表,然后对结果进行排序:

d = sorted([a, b, c])

列表在排序时比较字典顺序,首先是第一个元素,当它们相等时,比较第二个元素等。

演示:

>>> a = [1, 4, 7]
>>> b = [3, 9, 6]
>>> c = [2, 5, 8]
>>> sorted([a, b, c])
[[1, 4, 7], [2, 5, 8], [3, 9, 6]]