﻿ Python heap queue algorithm: Get the n expensive and cheap price items from a given dataset using Heap queue algorithm - w3resource

# Python: Get the n expensive and cheap price items from a given dataset using Heap queue algorithm

## Python heap queue algorithm: Exercise-10 with Solution

Write a Python program to get the most expensive and least expensive items from a given dataset using the heap queue algorithm.

Sample Solution:

Python Code:

``````import heapq
from pprint import pprint
items = [
{'name': 'Item-1', 'price': 101.1},
{'name': 'Item-2', 'price': 555.22},
{'name': 'Item-3', 'price': 45.09},
{'name': 'Item-4', 'price': 22.75},
{'name': 'Item-5', 'price': 16.30},
{'name': 'Item-6', 'price': 110.65}
]

cheap = heapq.nsmallest(3, items, key=lambda s: s['price'])
expensive = heapq.nlargest(3, items, key=lambda s: s['price'])
print("Original datasets:")
pprint(items)
print("\nFirst 3 expensive items:")
pprint(expensive)
print("\nFirst 3 cheap items:")
pprint(cheap)
```
```

Sample Output:

```Original datasets:
[{'name': 'Item-1', 'price': 101.1},
{'name': 'Item-2', 'price': 555.22},
{'name': 'Item-3', 'price': 45.09},
{'name': 'Item-4', 'price': 22.75},
{'name': 'Item-5', 'price': 16.3},
{'name': 'Item-6', 'price': 110.65}]

First 3 expensive items:
[{'name': 'Item-2', 'price': 555.22},
{'name': 'Item-6', 'price': 110.65},
{'name': 'Item-1', 'price': 101.1}]

First 3 cheap items:
[{'name': 'Item-5', 'price': 16.3},
{'name': 'Item-4', 'price': 22.75},
{'name': 'Item-3', 'price': 45.09}]
```

Flowchart:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿