Concatenate two lists in Python

David Y.

The Problem

How can I concatenate two lists in Python? In other words, how can I join two or more lists together to make one big list?

The Solution

We can do this using Python’s built-in operator overloading. When used with lists, the + operator will concatenate them, as shown below:

list1 = ["Apples", "Oranges", "Bananas"] list2 = ["Pears", "Grapes", "Pineapples"] combined = list1 + list2 print(combined) # output: ['Apples', 'Oranges', 'Bananas', 'Pears', 'Grapes', 'Pineapples']

Alternatively, we can use list.extend(), which will modify the first list:

list1 = ["Apples", "Oranges", "Bananas"] list2 = ["Pears", "Grapes", "Pineapples"] list1.extend(list2) print(list1) # output: ['Apples', 'Oranges', 'Bananas', 'Pears', 'Grapes', 'Pineapples']

To concatenate three or more lists, we can also use the + operator:

list1 = ["Apples", "Oranges", "Bananas"] list2 = ["Pears", "Grapes", "Pineapples"] list3 = ["Tangerines", "Apricots"] list4 = ["Pomegranates", "Watermelons", "Raspberries"] combined = list1 + list2 + list3 + list4 print(combined) # output: ['Apples', 'Oranges', 'Bananas', 'Pears', 'Grapes', 'Pineapples', 'Tangerines', 'Apricots', 'Pomegranates', 'Watermelons', 'Raspberries']

However, when combining more than two lists, itertools.chain() is more performant. Note that this method outputs an itertools.chain object, which must be typecast to a list, as shown below:

from itertools import chain list1 = ["Apples", "Oranges", "Bananas"] list2 = ["Pears", "Grapes", "Pineapples"] list3 = ["Tangerines", "Apricots"] list4 = ["Pomegranates", "Watermelons", "Raspberries"] combined = list(chain(list1, list2, list3, list4)) print(combined) # output: ['Apples', 'Oranges', 'Bananas', 'Pears', 'Grapes', 'Pineapples', 'Tangerines', 'Apricots', 'Pomegranates', 'Watermelons', 'Raspberries']
Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.