October 13, 2024

Append vs Extend vs Insert in Python

In Python, the list data structure provides several methods for adding elements to a list. Three commonly used methods are append, extend, and insert. Each method serves a different purpose for modifying lists.

1. append

The append method adds a single element to the end of the list. This method modifies the list in place and does not return a new list.

# Example of append
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # Output: [1, 2, 3, 4]

# Adding another list as a single element
my_list.append([5, 6])
print(my_list)  # Output: [1, 2, 3, 4, [5, 6]]
    

2. extend

The extend method adds all elements from an iterable (like a list or tuple) to the end of the list. Unlike append, which adds a single element, extend modifies the list in place by adding multiple elements.

# Example of extend
my_list = [1, 2, 3]
my_list.extend([4, 5, 6])
print(my_list)  # Output: [1, 2, 3, 4, 5, 6]

# Extending with a tuple
my_list.extend((7, 8))
print(my_list)  # Output: [1, 2, 3, 4, 5, 6, 7, 8]
    

3. insert

The insert method allows you to add an element at a specified index in the list. The syntax is insert(index, element). This method shifts all elements after the specified index to the right, making space for the new element.

# Example of insert
my_list = [1, 2, 3]
my_list.insert(1, 'a')
print(my_list)  # Output: [1, 'a', 2, 3]

# Inserting at the beginning
my_list.insert(0, 'start')
print(my_list)  # Output: ['start', 1, 'a', 2, 3]
    

4. Summary of Differences

  • append: Adds a single element to the end of the list.
  • extend: Adds all elements from an iterable to the end of the list.
  • insert: Adds a single element at a specified index, shifting other elements if necessary.

5. Conclusion

Choosing between append, extend, and insert depends on the specific needs of your program. Use append for adding single elements, extend for merging lists or iterables, and insert for adding elements at specific positions within the list.