nums
= [1,8,2,23,7,-4,18,23,24,37,2]
result
= map(nums
.index
, heapq
.nlargest
(3, nums
))
temp
=[]
Inf
= 0
for i
in range(3):
temp
.append
(nums
.index
(max(nums
)))
nums
[nums
.index
(max(nums
))]=Inf
result
.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方法发现相同数字永远会返回第一次出现的索引。