Ways to concatenate two lists in Python

03 Dec, 2020
Let’s see how to concatenate two lists using different methods in Python. This operation is useful when we have numbers of lists of elements which needs to be processed in a similar manner.
Method #1 : Using Naive Method
In this method, we traverse the second list and keep appending elements in the first list, so that first list would have all the elements in both lists and hence would perform the append.
# Python3 code to demonstrate list# concatenation using naive method   # Initializing liststest_list1 = [1, 4, 5, 6, 5]test_list2 = [3, 5, 7, 2, 5]  # using naive method to concatfor i in test_list2 :    test_list1.append(i)  # Printing concatenated listprint ("Concatenated list using naive method : "                               + str(test_list1))
Concatenated list using naive method : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 Method #2 : Using + operator
The most conventional method to perform the list concatenation, the use of “+” operator can easily add the whole of one list behind the other list and hence perform the concatenation.
# Python 3 code to demonstrate list# concatenation using + operator   # Initializing liststest_list3 = [1, 4, 5, 6, 5]test_list4 = [3, 5, 7, 2, 5]  # using + operator to concattest_list3 = test_list3 + test_list4  # Printing concatenated listprint ("Concatenated list using + : "                   + str(test_list3))
Concatenated list using + : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 
Method #3 : Using list comprehension
List comprehension can also accomplish this task of list concatenation. In this case, a new list is created, but this method is a one liner alternative to the loop method discussed above.
# Python3 code to demonstrate list# concatenation using list comprehension   # Initializing liststest_list1 = [1, 4, 5, 6, 5]test_list2 = [3, 5, 7, 2, 5]  # using list comprehension to concatres_list = [y for x in [test_list1, test_list2] for y in x]  # Printing concatenated listprint ("Concatenated list using list comprehension: "                                     + str(res_list))
Concatenated list using list comprehension: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 Method #4 : Using extend()
extend() is the function extended by lists in Python and hence can be used to perform this task. This function performs the inplace extension of first list.
# Python3 code to demonstrate list# concatenation using list.extend()  # Initializing liststest_list3 = [1, 4, 5, 6, 5]test_list4 = [3, 5, 7, 2, 5]  # using list.extend() to concattest_list3.extend(test_list4)  # Printing concatenated listprint ("Concatenated list using list.extend() : "                               + str(test_list3))
Concatenated list using list.extend() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 Method #5 : Using * operator
Using * operator, this method is the new addition to list concatenation and works only in Python 3.6+. Any no. of lists can be concatenated and returned in a new list using this operator.
# Python3 code to demonstrate list# concatenation using * operator  # Initializing liststest_list1 = [1, 4, 5, 6, 5]test_list2 = [3, 5, 7, 2, 5]  # using * operator to concatres_list = [*test_list1, *test_list2]  # Printing concatenated listprint ("Concatenated list using * operator : "                               + str(res_list))
Concatenated list using * operator : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 Method #6 : Using itertools.chain()
itertools.chain() returns the iterable after chaining its arguments in one and hence does not require to store the concatenated list if only its initial iteration is required. This is useful when concatenated list has to be used just once.
# Python3 code to demonstrate list  # concatenation using itertools.chain()import itertools  # Initializing liststest_list1 = [1, 4, 5, 6, 5]test_list2 = [3, 5, 7, 2, 5]  # using itertools.chain() to concatres_list = list(itertools.chain(test_list1, test_list2))  # Printing concatenated listprint ("Concatenated list using itertools.chain() : "                                      + str(res_list))
Concatenated list using itertools.chain() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

Akanksha_Rai
Python list-programs
python-list
Python
python-list
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Introduction To PYTHON
Convert integer to string in Python