2022/4/17 14:42:29

本文主要是介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

heapq.nsmallest(n, iterable, key=None)
从 iterable 所定义的数据集中返回前 n 个最小元素组成的列表。

如果提供了 key 则其应指定一个单参数的函数,用于从 iterable 的每个元素中提取比较键 (例如 key=str.lower)。 等价于: sorted(iterable, key=key)[:n]

nums = [-4,-2,1,4,8]; n=0
from heapq import nsmallest
# 返回最接近n的前两个数
res = nsmallest(2, nums, key=lambda x: abs(x-n))
print(res)  # [1,-2]    

同理,heapq.nlargest(n, iterable, key=None):返回前 n 个最大元素组成的列表。

两个函数在 n 值较小时性能最好。 对于更大的值,使用 sorted() 函数会更有效率。 此外,当 n==1 时,使用内置的 min() 和 max() 函数会更有效率。



这篇关于的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程