Last modified: Oct 30, 2024 By Alexander Williams

Python Spread List Append: Adding Multiple Items Efficiently

Appending multiple items to a list in Python can be done efficiently with the spread operator and other methods. Let’s explore these techniques in depth.

Understanding the Spread Operator in Python

The spread operator * in Python allows you to unpack items from an iterable, like a list, into another list. This feature makes it easier to append multiple items.

For instance, if you have two lists, you can use * to merge them:


list1 = [1, 2, 3]
list2 = [*list1, 4, 5]
print(list2)


[1, 2, 3, 4, 5]

Using the extend() Method for Appending Lists

extend() is a built-in method that adds each element from another list to the end of the list, avoiding the need for a loop.


my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list)


[1, 2, 3, 4, 5]

This appends all items from the second list to my_list in a single line.

Using the Spread Operator for Multiple List Appends

You can use the spread operator to append multiple lists by unpacking them into a new list. Here’s how:


list1 = [1, 2]
list2 = [3, 4]
combined_list = [*list1, *list2]
print(combined_list)


[1, 2, 3, 4]

For other ways to add items, check out Flattening Lists in Python.

Appending with + Operator

The + operator can also append lists, creating a new list:


list1 = [1, 2]
list3 = list1 + [3, 4]
print(list3)


[1, 2, 3, 4]

Note that + creates a new list and doesn’t modify list1.

Using List Comprehension for Appending

List comprehension is also a way to create a list by combining items from multiple lists:


list1 = [1, 2]
list2 = [3, 4]
combined = [item for lst in (list1, list2) for item in lst]
print(combined)


[1, 2, 3, 4]

Conclusion

The spread operator and methods like extend() and + offer flexibility in appending lists. Choose the method that best suits your needs for readability and performance.

For more on Python lists, see the official Python documentation.