简体   繁体   English

如何在Python中执行此操作(Perl代码段对2D数组进行排序)

[英]how to do this in Python (perl snippet to sort a 2D array)

I am trying to write this snippet in Python, to do a 2D array sort. 我试图用Python编写此代码段,以进行2D数组排序。 Basically, I have an array of arrays, and I need to sort it by the second element first, then by the first 基本上,我有一个数组数组,我需要先按第二个元素排序,然后按第一个元素排序

can anyone help out? 任何人都可以帮忙吗?

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

Like so: 像这样:

from operator import itemgetter

all = [ [2,2],[2,1],[1,2],[1,1] ]
result = sorted(all, key=itemgetter(0,1))
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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM