How would you find the top N items in a large collection efficiently?
Model answer
Use heapq.nlargest(n, items, key=...) or nsmallest, which are efficient when n is much smaller than the data size. Sorting everything costs O(m log m). For counting items use Counter.most_common(n).
Learn this topic
Dictionaries, Tuples and Sets in Python in the course Python for Beginners: Learn to Code with Real Projects.
Sign in to add your own answer.
More questions
- How do you add and remove items from a list?
- What is a dictionary and how do you use it?
- What is a set and when would you use one?
- How do you remove duplicates from a list while keeping order?
- How do you sort a list of dictionaries by a key?
- What is the time complexity of common list, dict and set operations?