用python實現對數組排序,輸出座標

如題,我們對[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]))

截圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章