You are currently viewing Python List Concatenation

How to concatenate a list in Python? To concatenate a list, you can use the naive method, list comprehension, + operator, extend(), reduce(), * unpacking, and itertools.chain() functions. In this article, I will explain the concatenate of a list by using all these functions with examples.

Advertisements

1. Quick Examples of Concatenating the List

If you are in a hurry, below are some quick examples of how to concatenate a list.


# Quick examples of list concatenation

# Initialization lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]

# Example 1: Using the naive method
for element in list2:
    list1.append(element)

# Example 2: Concatenated list 
# Using list comprehension
concatenated_list = [y for x in [list1, list2] for y in x]

# Example 3: Concatenated list 
# Using + Operator
concatenated_list = list1 + list2 

# Example 4: Concatenated list 
# Using extend() method
list1.extend(list2)

# Example 5: Using reduce() Function
nested_list = [list1,list2]
concatenated_list = reduce(lambda i,j:i+j,nested_list,[])

# Example 6: Using * unpacking generalizations
concatenated_list = [*list1, *list2]

# Example 7: Concatenate List 
# Using itertools.chain() method
concatenated_list = list(itertools.chain(list1, list2))

2. Concatenate Python List Using Naive Method

You can concatenate two lists using the naive method. In this method, first, iterate over the elements of list2 and append them to list1 using the append() function finally, you can get the concatenated list. For example, the elements in the list2 are iterated using a for loop. Each element is then appended to the list1. Finally, the concatenated list list1 is printed.


# Initialization lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]
print("First list:", list1)
print("Second list:", list2)

# Using naive methocd to concatenate lists
for element in list2:
    list1.append(element)
print ("After concatenating the list:", list1)

Yields below output.

python list concatenation

3. Concatenate Python List Using List Comprehension

You can also concatenate the two lists using list comprehension. It utilizes nested list comprehensions to iterate over each list (list1 and list2) and flatten them into a single list. In the list comprehension, for x in [list1, list2] iterates over each list (list1 and list2), and for y in x iterates over the elements within each list. The result is a single list that contains all the elements from both list1 and list2 in the desired order.


# Initialize the lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]
print("First list:", list1)
print("Second list:", list2)

# Concatenate lists 
# Using list comprehension
concatenated_list = [y for x in [list1, list2] for y in x]
print ("After concatenating the list:", concatenated_list)

Yields the same output as above.

4. Concatenate List Using + Operator

To concatenate lists in Python, you can use the + operator. Simply place the operator between the two lists you want to combine. For example, in this program, we used the + operator to merge the list1 and list2. The result is a new list that includes all the elements of both original lists in the order they appear. This is a simple and efficient method for concatenating lists in Python.


# Concatenate the lists 
# Using + Operator
concatenated_list = list1 + list2 
print ("After concatenating the list:", concatenated_list)

Yields the same output as above.

5. Concatenate Python List Using extend() Method

To concatenate lists, you can use the extend() method. Simply call the method on one list and pass the other list as an argument. For example, the extend() method is called on list1 and list2 is passed as an argument. This method modifies list1 in place by adding all the elements from list2 to it, resulting in the concatenated list.


# Initialize the lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]

# Concatenate the lists 
# Using extend() method
list1.extend(list2)
print ("After concatenating the list:", list1)

Yields the same output as above.

6. Concatenate Python List Using reduce() Function

You can also use the reduce() function along with a lambda function to concatenate the nested lists. However, the initial value for the reduction should be an empty list ([]), not 0.

In the below example, the reduce() function is used with a lambda function (lambda i, j: i + j) as the reducing function. The lambda function takes two lists (i and j) and concatenates them using the + operator. The initial value for the reduction is an empty list ([]). Bypassing the nested list [list1, list2] as the second argument to reduce(), the lambda function is applied to the elements of the nested list successively, resulting in the concatenated list.


from functools import reduce
# Initialize the lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]

# Using reduce() Function to concatenate the list
nested_list = [list1,list2]
concatenated_list = reduce(lambda i,j:i+j,nested_list,[])
print ("After concatenating the list:", concatenated_list)

Yields the same output as above.

7. Using * Unpacking Generalizations

Another way to concatenate the list using the * unpacking generalizations. Which allows you to pass a variable number of arguments to a function, let’s use this * operator to combine two or more lists.


# Initialize the lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]

# Using * unpacking generalizations
concatenated_list = [*list1, *list2]
print ("After concatenating the list:", concatenated_list)

Yields the same output as above.

8. Concatenate Python List Using itertools.chain() Method

Finally, you can use itertools.chain() method from itertools module, to concatenate the two lists. In this program, This method takes multiple iterables as arguments and returns an iterator that produces the elements from each iterable in sequence. By passing list1 and list2 as arguments to itertools.chain(), you create an iterator that yields the elements list1 followed by the elements from list2. Finally, you convert the iterator to a list using list() to obtain the concatenated list.

Using itertools.chain() is a concise and efficient way to concatenate lists in Python, especially when dealing with large lists, as it avoids creating intermediate lists during the concatenation process.


import itertools

# Initialization lists
list1 = [1, 3, 5]
list2 = [7, 9, 11]

# Concatenate List Using itertools.chain() method
concatenated_list = list(itertools.chain(list1, list2))
print ("After concatenating the list:&", concatenated_list)

Yields the same output as above.

Conclusion

In this article, I have explained how to concatenate a list in Python by using the naive method, list comprehension, + operator, extend(), reduce(), * unpacking, and itertools.chain() functions with examples.

Happy Learning !!