Python has several nice ways to help you solve k-way merge problem. 1. heapq.merge(*iterables) - returns iteratorfrom heapq import merge def n_way_merge(*args): return list(merge(*args)) 2. itertools.chain(*iterables) with sorted() from itertools import chain def n_way_merge(*args): return sorted(chain(*args)) 3. Using priority queue:from heapq import heappush from heapq import heappop from collec