Last modified: Oct 31, 2024 By Alexander Williams

Python Add to Left of List: A Complete Guide

Adding elements to the left of a Python list is useful when you need to prepend data.

This guide covers several ways to add elements to the start of a list with examples and explanations.

Understanding Lists in Python

Lists in Python are ordered, allowing easy modification and access to elements by index.

For more on how lists work, check out Python Karel Syntax List Guide.

Using insert() to Add to the Left

The insert() method allows you to add elements at any index, including the beginning of the list.


# Syntax to insert at start
list.insert(0, value)

Here’s an example that demonstrates this method:


fruits = ["banana", "apple"]
fruits.insert(0, "orange")
print(fruits)


['orange', 'banana', 'apple']

In this example, insert(0, "orange") adds orange to the start of fruits.

Using collections.deque for Efficient Left Insertions

If you frequently add to the left, collections.deque is more efficient than a list.

Deque supports fast left-side insertions with appendleft().


from collections import deque

fruits = deque(["banana", "apple"])
fruits.appendleft("orange")
print(fruits)


deque(['orange', 'banana', 'apple'])

Using appendleft() with deque keeps operations efficient when adding multiple items.

Combining Two Lists with + Operator

You can also use the + operator to add items to the start of a list by combining two lists.

For adding entire lists, visit Adding a List to Another List in Python.


fruits = ["banana", "apple"]
fruits = ["orange"] + fruits
print(fruits)


['orange', 'banana', 'apple']

The + operator creates a new list by concatenating the two lists, adding the item to the left.

Using Slice Assignment for Direct Modification

Using slice assignment, you can insert multiple items at the start, especially when prepending entire lists.


fruits = ["banana", "apple"]
fruits[:0] = ["orange"]
print(fruits)


['orange', 'banana', 'apple']

With fruits[:0] = ["orange"], we add orange at the start without affecting other elements.

Conclusion

Whether using insert(), deque, or slice assignment, adding to the left of a Python list is straightforward.

Learn more techniques in Python Spread List Append: Adding Multiple Items Efficiently.

With these methods, you’ll be able to manage list data efficiently in Python.