Python - 排名元素索引
當需要確定資料結構中元素的索引排名時,定義一個把連結串列作為引數的方法。它迭代連結串列中的元素,在改變兩個變數的值之前執行某些比較。
示例
以下是對同一示例的演示
def find_rank_elem(my_list): my_result = [0 for x in range(len(my_list))] for elem in range(len(my_list)): (r, s) = (1, 1) for j in range(len(my_list)): if j != elem and my_list[j] < my_list[elem]: r += 1 if j != elem and my_list[j] == my_list[elem]: s += 1 my_result[elem] = r + (s - 1) / 2 return my_result my_list = [1, 3, 5, 3, 1, 26, 99, 45, 67, 12] print("The list is :") print(my_list) print("The resultant list is :") print(find_rank_elem(my_list))
輸出
The list is : [1, 3, 5, 3, 1, 26, 99, 45, 67, 12] The resultant list is : [1, 3, 5, 3, 1, 7, 10, 8, 9, 6]
說明
定義了一個名為“find_rank_elem”的方法,它把連結串列作為引數。
迭代連結串列並將其儲存在連結串列變數中。
再次迭代它,並檢查連結串列的某些元素是否匹配。
如果匹配,則兩個值“r”和“s”都會發生改變。
此連結串列將作為輸出返回。
在方法外部,定義一個連結串列並顯示在控制檯上。
透過傳遞此連結串列作為引數來呼叫方法。
輸出顯示在控制檯上。
廣告