Here is a Python program to find N smallest and largest items in a list using heapq.
Find N Smallest and Largest Items Using HeapQ in Python
import heapq portfolio = [ {'name': 'APPLE', 'pieces': 100, 'price': 92.1}, {'name': 'MANGO', 'pieces': 50, 'price': 542.22}, {'name': 'GRAPES', 'pieces': 200, 'price': 22.09}, {'name': 'BANANA', 'pieces': 35, 'price': 34.75}, {'name': 'PAPAYA', 'pieces': 45, 'price': 15.35}, {'name': 'PEACH', 'pieces': 75, 'price': 118.65} ] cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price']) expensive = heapq.nlargest(3, portfolio, key=lambda s: s['price']) print(cheap) print(expensive)
Output:
[{'name': 'PAPAYA', 'pieces': 45, 'price': 15.35}, {'name': 'GRAPES', 'pieces': 200, 'price': 22.09}, {'name': 'BANANA', 'pieces': 35, 'price': 34.75}] [{'name': 'MANGO', 'pieces': 50, 'price': 542.22}, {'name': 'PEACH', 'pieces': 75, 'price': 118.65}, {'name': 'APPLE', 'pieces': 100, 'price': 92.1}] Process finished with exit code 0