gpt4 book ai didi

python - 如何在 python 中找到列表的 N 个最大值的位置?

转载 作者:太空狗 更新时间:2023-10-30 01:46:33 26 4
gpt4 key购买 nike

我试图从列表中找到 N 个最大值,然后打印出它们在列表中的位置。

如果我只关注最大值。值,它看起来像这样:

>>>>fr = [8,4,1,1,12]
>>>>print fr.index(max(fr))
4

但是,我的目标是获得如下输出:4,0,1 如果 n=3。这里的0表示第二大值的位置。请记住,我对值(value)不感兴趣,但对他们的位置感兴趣!

最佳答案

使用heapq.nlargest使用键 = fr.__getitem__:

>>> import heapq
>>> fr = [8,4,1,1,12]
>>> heapq.nlargest(3, xrange(len(fr)), key=fr.__getitem__)
[4, 0, 1]

如果您想要值本身,那么:

>>> heapq.nlargest(3, fr)
[12, 8, 4]

关于python - 如何在 python 中找到列表的 N 个最大值的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com