如下所示:
nums = [1,8,2,23,7,-4,18,23,24,37,2]result = map(nums.index, heapq.nlargest(3, nums))temp=[]Inf = 0for i in range(3): temp.append(nums.index(max(nums))) nums[nums.index(max(nums))]=Infresult.sort()temp.sort()print(result)print(temp)
如上,有result和temp兩種求法,上面代碼輸出:
[3, 8, 9][3, 8, 9]
沒問題
但是把nums改一下:
nums = [1,8,2,23,7,-4,18,23,23,37,2]
輸出:
[3, 3, 9][3, 7, 9]
發現問題了吧,result方法發現相同數字永遠會返回第一次出現的索引。
以上這篇python 找出list中最大或者最小幾個數的索引方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答