方法:首先利用heapq模块中的nlargest/nsmallest方法,求得列表中的前n个最大/最小元素,然后利用index()求每个元素的索引。
代码如下:
import heapq
l = [5,6,5,3,2,7,8]
max_num = heapq.nlargest(4,l)
max_index = []
for i in max_num:
max_index.append(l.index(i))
print(max_index)
#输出:
#[6, 5, 1, 0]
借助python的map()方法优化代码:
import heapq
l = [5,6,5,3,2,7,8]
max_index_new = list(map(l.index, heapq.nlargest(4,l)))
print(max_index_new)
#输出:
#[6, 5, 1, 0]
本文介绍了一种在Python中使用heapq模块高效查找列表中最大值及其索引的方法。通过示例代码展示了如何利用nlargest函数找到前n个最大元素,并结合index函数获取这些元素在原列表中的位置,最后使用map方法进一步优化了代码。
5436

被折叠的 条评论
为什么被折叠?



