Python Add To Beginning Of List

2 min read

Adding an item to the beginning of a Python list is a common task when building queues, processing ordered data, or updating a collection as new information arrives. The most direct method is list.insert(0, item), but slicing, concatenation, and collections.deque can be better depending on whether you need an in-place update, want to add several items, or will perform many insertions.

Introduction

Python lists are ordered, mutable collections. Because they preserve element positions, adding an item at index 0 places it before every existing element. This operation is different from appending, which adds an item to the end and is usually faster.

The best technique depends on four questions:

  • Do you need to modify the original list?
  • Are you adding one item or many items?
  • How large is the list?
  • Will you repeatedly add items at the front?

Understanding these differences helps avoid subtle bugs and unnecessary performance costs.

Method 1: Use insert() to Add One Item

The built-in insert() method is the clearest solution for adding one element:

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

print(items)
# ['orange', 'banana', 'apple']

The first argument is the insertion index, while the second is the value to insert. Index 0 refers to the beginning of the list, so the new value is placed before the current first element.

insert() modifies the list in place and returns None:

result = items.insert(0, "grape")

print(result)  # None
print(items)   # ['grape', 'orange', 'banana', 'apple']

A common mistake is assigning the result back to the variable:

# Incorrect: this replaces the list with None
items = items.insert(0, "grape")

Use items.insert(0, "grape") without assignment when you want an in-place change.

Method 2: Use Slice Assignment for Multiple Items

To add several elements while preserving their order, assign them to an empty slice at the beginning:

items = ["banana", "apple"]
new_items = ["orange", "grape"]

items[:0] = new_items

print(items)
# ['orange', 'grape', '

`['orange', 'grape', 'banana', 'apple']`

Slice assignment is highly versatile because the right side can be any iterable, not just a list. However
Out This Week

Brand New

You Might Find Useful

Others Also Checked Out

Thank you for reading about Python Add To Beginning Of List. We hope the information has been useful. Feel free to contact us if you have any questions. See you next time — don't forget to bookmark!
⌂ Back to Home