gpt4 book ai didi

python - 如何找到列表或 np.array 中 n 个最大元素的索引,Python

转载 作者:太空狗 更新时间:2023-10-29 17:37:52 27 4
gpt4 key购买 nike

是否有内置函数或非常简单的方法来查找列表或 numpy 数组中 n 个最大元素的索引?

K = [1,2,2,4,5,5,6,10]

找到最大的 5 个元素的索引?

我多次计算重复项,输出应该是那些最大数字的索引列表

最佳答案

也许是这样的:

>>> K
[4, 5, 1, 6, 2, 5, 2, 10]
>>> sorted(range(len(K)), key=lambda x: K[x])
[2, 4, 6, 0, 1, 5, 3, 7]
>>> sorted(range(len(K)), key=lambda x: K[x])[-5:]
[0, 1, 5, 3, 7]

或者使用numpy,你可以使用argsort:

>>> np.argsort(K)[-5:]
array([0, 1, 5, 3, 7])

argsort也是一个方法:

>>> K = np.array(K)
>>> K.argsort()[-5:]
array([0, 1, 5, 3, 7])
>>> K[K.argsort()[-5:]]
array([ 4, 5, 5, 6, 10])

关于python - 如何找到列表或 np.array 中 n 个最大元素的索引,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16878715/

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