我正在尝试用Python编写这个片段,进行2D数组排序。基本上,我有一个数组数组,我需要先按第二个元素排序,然后按第一个元素排序
任何人都可以帮帮忙吗?
my @result = sort { $a->[0] <=> $b->[0] || $a->[1] <=> $b->[1] } @all
答案 0 :(得分:2)
像这样:
from operator import itemgetter
all = [ [2,2],[2,1],[1,2],[1,1] ]
result = sorted(all, key=itemgetter(0,1))
答案 1 :(得分:0)
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)