Merge two sorted arrays in Python using heapq - GeeksforGeeks

23 Nov, 2020
Given two sorted arrays, the task is to merge them in a sorted manner.
Examples:
Input :  arr1 = [1, 3, 4, 5]  
         arr2 = [2, 4, 6, 8]
Output : arr3 = [1, 2, 3, 4, 4, 5, 6, 8]

Input  : arr1 = [5, 8, 9]  
         arr2 = [4, 7, 8]
Output : arr3 = [4, 5, 7, 8, 8, 9]

This problem has existing solution please refer Merge two sorted arrays link. We will solve this problem in python using heapq.merge() in a single line of code.
# Function to merge two sorted arraysfrom heapq import merge  def mergeArray(arr1,arr2):    return list(merge(arr1, arr2))  # Driver functionif __name__ == "__main__":    arr1 = [1,3,4,5]      arr2 = [2,4,6,8]    print (mergeArray(arr1, arr2))
Output:
[1, 2, 3, 4, 4, 5, 6, 8]

This module provides an implementation of the heap queue algorithm, also known as the priority queue algorithm.To create a heap, use a list initialized to [], or you can transform a populated list into a heap via function heapify().The following functions are provided:
heapq.heappush(heap,item) : Push the value item onto the heap, maintaining the heap invariant.
heapq.heappop(heap) : Pop and return the smallest item from the heap, maintaining the heap invariant. If the heap is empty, IndexError is raised. To access the smallest item without popping it, use heap[0].
heapq.heappushpop(heap, item) : Push item on the heap, then pop and return the smallest item from the heap. The combined action runs more efficiently than heappush() followed by a separate call to heappop().
heapq.heapify(x) : Transform list x into a heap, in-place, in linear time.
heapq.merge(*iterables) : Merge multiple sorted inputs into a single sorted output (for example, merge timestamped entries from multiple log files). Returns an iterator over the sorted values.This article is contributed by Shashank Mishra (Gullu). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.My Personal Notes
arrow_drop_upSave
This article is contributed by Shashank Mishra (Gullu). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
array-merge
Arrays
Heap
Python
Arrays
Heap
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Next Greater Element
Window Sliding Technique
Count pairs with given sum
Program to find sum of elements in a given array
Reversal algorithm for array rotation
HeapSort
Binary Heap
Huffman Coding | Greedy Algo-3
Building Heap from Array
Sliding Window Maximum (Maximum of all subarrays of size k)