Sentry Answers>Python>

Concatenate two lists in Python

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:

Click to Copy
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:

Click to Copy
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:

Click to Copy
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:

Click to Copy
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']
  • Sentry BlogPython Performance Testing: A Comprehensive Guide (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Sentry BlogLogging in Python: A Developer’s Guide (opens in a new tab)
  • CodecovPython - Codecov (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.