用一个题目引入
有一个列表
[-4, 0, 8, -2, -9, 5, 10, -1, -7]
1.找出绝对值最小的三个元素
2.找出绝对值最大的三个元素
from heapq import nsmallest, nlargest
l = [-4, 0, 8, -2, -9, 5, 10, -1, -7]
'''这里直接调用python内置abs求绝对值函数'''
print(nsmallest(3, l, abs))
print(nlargest(3, l, abs))
'''
打印结果:
[0, -1, -2]
[10, -9, 8]
'''
格式
# 先导入模块
from heapq import nsmallest, nlargest
# 调用格式
nsmallest(n, iterable, function)
nlargest(n, iterable, function)