2010-05-06 164 views
0

我在Python中有一个多维数组。二维Python数组:按第一排序

我该如何去排序第二个数组,第一个 - 一直保持它的顺序?

+0

你能举个例子吗?你的意思是排序第一和保持相同的顺序? – Stephen 2010-05-06 14:01:10

+0

我不清楚你想如何排序你的数组。你可以编辑你的问题,以提供一个简单的前/后的例子,你的数组看起来像之前和之后被排序? – 2010-05-06 14:02:07

回答

2

我不知道从你的答案,如果这是你想要的,但看看。如果我有一个多维数组x:

>>> x = [[100,50,39,69,22,23,19,80,94,72],range(10)] 
>>> print x 
[[100, 50, 39, 69, 22, 23, 19, 80, 94, 72], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] 

,我想作为排序依据的第一子阵列的第二子阵,我能做到以下几点:

>>> x[1].sort(key = x[0].__getitem__) 
>>> print x 
[[100, 50, 39, 69, 22, 23, 19, 80, 94, 72], [6, 4, 5, 2, 1, 3, 9, 7, 8, 0]] 

这就是你想要的?

+1

你能解释一下这种排序的顺序吗? – 2010-05-06 15:03:50

+1

这就好像第二个数组中的0具有附加到它的值100即它的“排序值或键”,第二个数组中的1有50作为排序值等等(2具有排序值39,3有排序值69)。我通过第一个数组的值排序第二个数组。这是我对OP要求什么的猜测。 – 2010-05-06 15:24:34