重複數字的排序

問題 例如 a = [1,7,7,4,4,5,6]

經過排序後是a=[1,7,4,5,6,7,4]

也就是說重複的元素在隊列後面插入,不改變原理的順序。最直觀的思路就是用一個列表記錄元素,如果有重複用另一個列表保存。

def get_reset_index(arr):
    no_repeat_list = []
    index_list_1 = []
    index_list_2 = []
    for index, i in enumerate(arr):
        if i not in no_repeat_list:
            no_repeat_list.append(i)
            index_list_1.append(index)
        else:
            index_list_2.append(index)

    # result = no_repeat_list+repeat_list
    reset_index = index_list_1 + index_list_2
    return reset_index

上面的函數是保存原數組的序號。

有何作用?用在pandas自定義排序

參考pandas的DataFrame如何按指定list排序

 

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