如何使用快速排序按列表列表中的索引排序

时间:2014-01-15 19:15:51

标签: python list sorting multidimensional-array

我正在尝试使用快速排序来对索引[1]中的列表进行排序。 例如:

list = [[2, 5, 3],
        [2, 4, 9],
        [0, 9, 1],
        [1, 1, 1],
        [4, 7, 5]]

我希望能够做到这一点,按索引[1]排序:

quickSort(list)

output:

list = [[1, 1, 1],
        [2, 4, 9],
        [2, 5, 3],
        [4, 7, 5],
        [0, 9, 1]]

任何想法?

1 个答案:

答案 0 :(得分:2)

您想在key中使用list.sort参数:

import operator
mylist = [[2, 5, 3],
          [2, 4, 9],
          [0, 9, 1],
          [1, 1, 1],
          [4, 7, 5]]

mylist.sort(key=operator.itemgetter(1))

输出:

>>> mylist = [[2, 5, 3],
...           [2, 4, 9],
...           [0, 9, 1],
...           [1, 1, 1],
...           [4, 7, 5]]
>>> 
>>> mylist.sort(key=operator.itemgetter(1))
>>> mylist
[[1, 1, 1], [2, 4, 9], [2, 5, 3], [4, 7, 5], [0, 9, 1]]