gpt4 book ai didi

python - 在列表中找到第 n 个最小的数字?

转载 作者:行者123 更新时间:2023-12-01 08:59:17 24 4
gpt4 key购买 nike

我需要一种有效的方法来获取第 n 个最小的数字及其在包含多达 15000 个实体的列表中的索引(因此速度不是 super 关键)。

很遗憾,我不能使用 numpy 或任何其他非标准库。

我正在使用 Python 2.7

最佳答案

使用heapq.nsmallest(和enumerate获取索引):

nums = [random.randint(1,1000000) for _ in range(10000)]

import heapq
import operator

heapq.nsmallest(10,enumerate(nums),key=operator.itemgetter(1))
Out[26]:
[(5544, 35),
(1702, 43),
(6547, 227),
(1540, 253),
(4919, 360),
(7993, 445),
(1608, 495),
(5832, 505),
(1388, 716),
(5103, 814)]

关于python - 在列表中找到第 n 个最小的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21442460/

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