2010-05-06 223 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