как это сделать в Python (фрагмент perl для сортировки 2D-массива) - PullRequest
0 голосов
/ 22 декабря 2010

Я пытаюсь написать этот фрагмент на Python для сортировки двухмерных массивов. По сути, у меня есть массив массивов, и мне нужно сначала отсортировать его по второму элементу, а затем по первому

Кто-нибудь может помочь?

my @result = sort { $a->[0] <=> $b->[0] || $a->[1] <=> $b->[1] } @all

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Вроде так:

from operator import itemgetter

all = [ [2,2],[2,1],[1,2],[1,1] ]
result = sorted(all, key=itemgetter(0,1))
0 голосов
/ 22 декабря 2010
def my_sort(a, b):

    return cmp(a[0], b[0]) or cmp(a[1], b[1]);


AnArray = [ [3, 3], [2, 6], [2, 2], [0, 4], [0, 1] ];

print AnArray
print sorted(AnArray, cmp=my_sort)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...