Python技巧之返回列表中最接近元素n的k个元素
2022-04-17 14:21
561 查看
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() 函数会更有效率。
相关文章推荐
- 《Python CookBook2》 第四章 Python技巧 - 若列表中某元素存在则返回之 && 在无须共享引用的条件下创建列表的列表
- python重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现不止一次,则返回True,但不要改变原来列表的值,同时编写调用这个函数和测试结果的程序。
- Python中map()函数用法-对列表中每个元素做相同操作,并返回list
- 004_003 Python 如果列表存在元素返回它,不存在,返回默认值
- python 实现返回一个列表中出现次数最多的元素方法
- python实战技巧之去除列表中的空值元素
- python返回一个列表中出现次数最多的元素
- python程序-->列表转字符串,元素之间用,分开,最后一个元素前插入and,返回字符串
- python重复元素判定,编写一个函数,接受列表作为参数,如果一个元素在列表中出现不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序
- python - 列表分组技巧 #写出一段 Python 代码,实现分组一个 list 里面的元素,如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
- python的元素列表
- python实战技巧之将列表中整型的数据转换成字符型数据
- Python简单删除列表中相同元素的方法示例
- Python - 从列表中选取任意个元素求和
- python高效编程技巧1 (如何在列表,字典,集合中根据条件筛选数据)
- Python统计列表元素出现次数
- 笨方法学python 习题34(访问列表元素)习题35(作死小游戏)
- 1.传入一个列表,列表中元素可能是任意类型 2.使用高级函数完成非字符串元素的删除 3.然后按照字符串的长度进行降序排序 4.返回新的排序后的列表
- Python中给删除列表元素可能存在的漏洞
- Python笔记——python 3.x中列表中元素删除del、remove、pop的用法及区别