Сортировать список списков по нескольким значениям в Python - PullRequest
0 голосов
/ 11 ноября 2011

Мне нужно отсортировать список списков, где каждый entry во внешнем списке представляет собой список из трех целых чисел, например:

[[3,1,0],[1,2,3],[3,2,0],[3,1,1]]

Хитрость в том, что мне нужно отсортировать его по entry[0], а если есть связь, то отсортировать по entry[1], а если это тоже связь, отсортировать по entry[2], поэтому приведенный выше список должен быть :

[[3,2,0],[3,1,1],[3,1,0],[1,2,3]]

Я продолжаю переосмысливать свои циклы и операторы сортировки, и мне не удалось найти способ проверить записи по порядку, не переставляя мои списки по этим значениям вместо сохранения иерархии.

Есть предложения?

1 Ответ

8 голосов
/ 11 ноября 2011

Это стандартное поведение для сравнения списков.

x = [[3,1,0],[1,2,3],[3,2,0],[3,1,1]]
x.sort(reverse = True)
print(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...