Joining Lists in Python

In Python, joining lists refers to combining two or more lists into a single list. This operation is common when you need to merge data from multiple sources or collections. There are several ways to join lists in Python, each with its use cases and benefits.

Using the + Operator

The simplest way to join two lists is by using the + operator. This operator creates a new list that contains all the elements of the first list followed by all the elements of the second list:

Python
list1 = ["apple", "banana"]
list2 = ["cherry", "date"]

# Join lists using +
joined_list = list1 + list2

print(joined_list)  # Output: ["apple", "banana", "cherry", "date"]

This method is straightforward and easy to use, but it creates a new list rather than modifying one of the existing lists.

Using extend() Method

The extend() method is used to add all elements of another list (or any iterable) to the end of the current list. Unlike the + operator, extend() modifies the original list in place:

Python
list1 = ["apple", "banana"]
list2 = ["cherry", "date"]

# Join lists using extend()
list1.extend(list2)

print(list1)  # Output: ["apple", "banana", "cherry", "date"]

Using extend() is more memory-efficient compared to using the + operator because it doesn’t create a new list; instead, it adds the elements to the existing list.

Using List Comprehension

List comprehension provides another way to join lists, especially if you need to perform additional operations on the elements while joining them:

Python
list1 = ["apple", "banana"]
list2 = ["cherry", "date"]

# Join lists using list comprehension
joined_list = [item for sublist in [list1, list2] for item in sublist]

print(joined_list)  # Output: ["apple", "banana", "cherry", "date"]

This method offers more flexibility, allowing you to filter, transform, or manipulate the elements while joining the lists.

Using * Operator (Python 3.5+)

In Python 3.5 and later, you can use the * operator to unpack lists and combine them into a new list:

Python
list1 = ["apple", "banana"]
list2 = ["cherry", "date"]

# Join lists using * operator
joined_list = [*list1, *list2]

print(joined_list)  # Output: ["apple", "banana", "cherry", "date"]

This method is similar to using the + operator but provides more flexibility, such as allowing you to unpack multiple lists or other iterables.

Choosing the Right Method

When deciding how to join lists, consider the following:

By understanding these methods, you can efficiently join lists in Python and choose the one that best fits your needs.