#coding:utf-8
'''
查找最大或最小N个元素
'''
import heapq
datas = [1,2,3,4,5,6,7,-9,10,-11,15,17,-20]
# 前最大3个元素
print(heapq.nlargest(3,datas))
# 前最小5个元素
print(heapq.nsmallest(5,datas))
datas2 = [
{"name":"XiaoMi","price":2999},
{"name":"Huawei","price":4999},
{"name":"iPhone","price":8999},
{"name":"Vivo","price":1099},
{"name":"oppo","price":2499},
{"name":"Lenovo","price":1999}
]
# 复杂结构查找
cheap = heapq.nsmallest(3,datas2,key = lambda s:s['price'])
print(cheap)