출처 :https://newpower.tistory.com/113
heapq 모듈에 있는 nlargest()와 nsmallest() 함수를 사용해서 최대 or 최소값을 찾을 수 있다.
기본적인 함수 형태
heapq.nlargest(n, iterable, key=None)
heapq.nsmallest(n, iterable, key=None)
사용
>>> import heapq
>>> nums = [1, 3, 6, 34, 5, 22, 67, -3, 56, -9]
>>> print(heapq.nlargest(5, nums))
[67, 56, 34, 22, 6]
>>> print(heapq.nsmallest(3, nums))
[-9, -3, 1]
key 파라미터를 사용해 보겠다.
>>> data = [
{'title': 'Sams', 'famous': 100, 'price':230.0},
{'title': 'LZ', 'famous': 81, 'price':120.56},
{'title': 'Hyun', 'famous': 90, 'price':225.78},
{'title': 'Ki', 'famous': 50, 'price':130.53},
{'title': 'Dea', 'famous': 30, 'price':80.99}
]
>>> cheapest = heapq.nsmallest(3, data, key=lambda t: t['price'])
>>> print(cheapest)
[{'famous': 30, 'price': 80.99, 'title': 'Dea'}, {'famous': 81, 'price': 120.56, 'title': 'LZ'}, {'famous': 50, 'price': 130.53, 'title': 'Ki'}]
람다를 사용해서 키값을 설정했다.
가장 작은 키값부터 차례로 나열된다.
'프로그래밍 언어별 tools > 파이썬' 카테고리의 다른 글
구분자 여러개로 string to list (0) | 2022.04.14 |
---|---|
f-string (0) | 2022.04.14 |
deque 함수 (0) | 2021.11.03 |
copy (0) | 2021.10.07 |
set 집합 (0) | 2021.10.05 |