Merge Multiple Lists into One in Python
To merge multiple lists into one in Python, you can use methods like the + operator, extend() method, list comprehension, itertools.chain(), and the sum() function. Each method provides a unique way to concatenate lists based on your specific needs.
Examples
1. Merging Lists Using the + Operator
The + operator allows concatenation of multiple lists by creating a new merged list.
# Define multiple lists
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
# Merge lists using the + operator
merged_list = list1 + list2 + list3
# Print the merged list
print("Merged List:", merged_list)
Here, list1, list2, and list3 are combined using the + operator, creating a new list merged_list that contains all the elements in sequential order.
Output:
Merged List: [1, 2, 3, 4, 5, 6, 7, 8, 9]

2. Merging Lists Using extend() Method
The extend() method modifies the original list by appending elements from another iterable.
# Define multiple lists
list1 = ["a", "b", "c"]
list2 = ["d", "e", "f"]
list3 = ["g", "h", "i"]
# Merge lists using extend()
list1.extend(list2)
list1.extend(list3)
# Print the merged list
print("Merged List:", list1)
Here, the extend() method adds elements of list2 and list3 to list1. Unlike the + operator, it modifies the original list instead of creating a new one.
Output:
Merged List: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']

3. Merging Lists Using List Comprehension
List comprehension allows merging multiple lists into one in a single expression.
# Define multiple lists
list1 = [10, 20]
list2 = [30, 40]
list3 = [50, 60]
# Merge lists using list comprehension
merged_list = [item for sublist in [list1, list2, list3] for item in sublist]
# Print the merged list
print("Merged List:", merged_list)
Here, we use nested list comprehension. The outer loop iterates over each sublist (list1, list2, list3), and the inner loop extracts elements from each sublist to create a flat list.
Output:
Merged List: [10, 20, 30, 40, 50, 60]

4. Merging Lists Using itertools.chain()
The itertools.chain() function from the itertools module provides an efficient way to merge multiple lists.
import itertools
# Define multiple lists
list1 = [100, 200]
list2 = [300, 400]
list3 = [500, 600]
# Merge lists using itertools.chain()
merged_list = list(itertools.chain(list1, list2, list3))
# Print the merged list
print("Merged List:", merged_list)
Here, itertools.chain() takes multiple iterables and returns a single iterable, which we convert into a list. This approach is efficient for handling large datasets.
Output:
Merged List: [100, 200, 300, 400, 500, 600]

5. Merging Lists Using sum() Function
The sum() function can be used with an empty list as the initial value to merge multiple lists.
# Define multiple lists
list1 = [5, 10]
list2 = [15, 20]
list3 = [25, 30]
# Merge lists using sum()
merged_list = sum([list1, list2, list3], [])
# Print the merged list
print("Merged List:", merged_list)
Here, sum() iterates over the list of lists and concatenates them starting from an empty list []. However, this method is less efficient than itertools.chain() due to repeated list copying.
Output:
Merged List: [5, 10, 15, 20, 25, 30]

Conclusion
Python provides multiple ways to merge lists:
+Operator: Creates a new merged list.extend(): Modifies the original list.- List Comprehension: Offers a concise and flexible way to merge.
itertools.chain(): Efficient for large datasets.sum()Function: Less efficient but works for merging.
