如題,我們對[1,3,2]這樣的數組進行排序,我們想要他的順序座標,那麼輸出就是(從大到小)[1,2,0]
首先,用到了 enumerate 這個內置函數:
我們先看下這個函數的作用:
a = [1,3,2]
for i in enumerate(a): #
print(i)
運行截圖
我們可以看出,他把每個數字的座標存在了第一位
這裏我們放出完整代碼:
a = [1,3,2]
max_location =sorted(enumerate(a), key=lambda y:y[1],reverse=True)
#讀取座標爲 1 的數字 ,然後進行排序
for i in enumerate(a):
print(i)
print(max_location)
運行截圖:
這時,每個元素的第一位就是我們想要的
如果你想只要 1,2,0,那麼可以加個循環(我幫大家寫個函數,可以直接調用)
def location_sort(list_in):
max_location =sorted(enumerate(list_in), key=lambda y:y[1],reverse=True)
#讀取座標爲 1 的數字 ,然後進行排序 #reverse是確定排序順序的
list_out = []
for i in range(len(max_location)):
list_out.append(max_location[i][0])
return (list_out)
print(location_sort([1,3,2]))
截圖: