Skip to content
Home / Fundamentals

Python List Modification

Python lists are a versatile data type that allow you to store and manipulate collections of items. In this tutorial, we will learn various techniques for modifying lists in Python, including how to change list items, add items to lists, and remove items from lists

# Change the value of a specific item in a list
my_list = [1, 2, 3]
my_list[1] = 4
print(my_list)  # [1, 4, 3]

# Change the values of multiple items in a list using slicing
my_list = [1, 2, 3, 4, 5]
my_list[1:3] = [6, 7]
print(my_list)  # [1, 6, 7, 4, 5]

# Add a single item to the end of a list using the append method
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

# Add multiple items to the end of a list using the extend method
my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list)  # [1, 2, 3, 4, 5]

# Add two lists together using the concatenation operator
list1 = [1, 2, 3]
list2 = [4, 5, 6]
new_list = list1 + list2
print(new_list)  # [1, 2, 3, 4, 5, 6]

# Insert an item at a specific position in a list using the insert method
my_list = [1, 2, 4, 5]
my_list.insert(2, 3)
print(my_list)  # [1, 2, 3, 4, 5]

# Remove and return the last item in a list using the pop method
my_list = [1, 2, 3, 4, 5]
last_item = my_list.pop()
print(last_item)  # 5
print(my_list)  # [1, 2, 3, 4]

# Remove and return a specific item in a list using the pop method
my_list = [1, 2, 3, 4, 5]
second_item = my_list.pop(1)
print(second_item)  # 2
print(my_list)  # [1, 3, 4, 5]

# Remove the first occurrence of a specific item from a list using the remove method
my_list = [1, 2, 3, 2, 4, 5]
my_list.remove(2)
print(my_list)  # [1, 3, 2, 4, 5]

# Remove an item at a specific index from a list using the del statement
my_list = [1, 2, 3, 4, 5]
del my_list[2]
print(my_list)  # [1, 2, 4, 5]

# Remove multiple items from a list using slicing and the del statement
my_list = [1, 2, 3, 4, 5]
del my_list[1:3]
print(my_list)  # [1, 5]

Mutability In Python, lists are mutable, which means that you can change the contents of a list after it is created. In contrast, some other data types, such as tuples, are immutable, which means that you cannot change their contents once they are created.

Change List Items You can change the value of a specific item in a list by using the assignment operator (=). For example:

my_list = [1, 2, 3]
print(my_list)  # [1, 2, 3]

# Change the value of the second item
my_list[1] = 4
print(my_list)  # [1, 4, 3]

You can also change the value of multiple items in a list using slicing and the assignment operator. For example:

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

# Change the values of the second and third items
my_list[1:3] = [6, 7]
print(my_list)  # [1, 6, 7, 4, 5]

Add List Items

There are several ways to add items to a list in Python.

Append Method

You can use the append() method to add a single item to the end of a list. For example:

my_list = [1, 2, 3]
print(my_list)  # [1, 2, 3]

# Add the number 4 to the end of the list
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

Extend Method

You can use the extend() method to add multiple items to the end of a list. The extend() method takes an iterable, such as another list, and adds each element of the iterable to the end of the original list. For example:

my_list = [1, 2, 3]
print(my_list)  # [1, 2, 3]

# Add the numbers 4 and 5 to the end of the list
my_list.extend([4, 5])
print(my_list)  # [1, 2, 3, 4, 5]

Concatenation Operator

You can use the concatenation operator (+) to add two lists together and create a new list. For example:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

# Concatenate the lists and store the result in a new variable
new_list = list1 + list2
print(new_list)  # [1, 2, 3, 4, 5, 6]

Insert Method

You can use the insert() method to insert an item at a specific position in a list. The insert() method takes two arguments: the index at which to insert the item, and the item to be inserted. For example:

my_list = [1, 2, 4, 5]
print(my_list)  # [1, 2, 4, 5]

# Insert the number 3 at index 2
my_list.insert(2, 3)
print(my_list)  # [1, 2, 3, 4, 5]

Remove List Items

There are several ways to remove items from a list in Python.

Pop Method

You can use the pop() method to remove an item from a list and return its value. By default, pop() removes and returns the last item in the list. You can also specify the index of the item you want to remove. For example:

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

# Remove and return the last item in the list
last_item = my_list.pop()
print(last_item)  # 5
print(my_list)  # [1, 2, 3, 4]

# Remove and return the second item in the list
second_item = my_list.pop(1)
print(second_item)  # 2
print(my_list)  # [1, 3, 4]

Remove Method

You can use the remove() method to remove the first occurrence of a specific item from a list. The remove() method takes the item to be removed as an argument. If the item is not found in the list, a ValueError is raised. For example:

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

# Remove the first occurrence of the number 2
my_list.remove(2)
print(my_list)  # [1, 3, 2, 4, 5]

Del Statement

You can use the del statement to remove an item at a specific index from a list. The del statement takes the index of the item to be removed as an argument. For example:

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

# Remove the third item in the list
del my_list[2]
print(my_list)  # [1, 2, 4, 5]

# You can also use slicing to remove multiple items from a list
del my_list[1:3]
print(my_list)  # [1, 5]

Best Practices

  • Be aware of mutability: As mentioned in the tutorial, it's important to note that lists are mutable in Python, while some other data types like tuples are not. This means that you can change the contents of a list after it is created, but you cannot do so for tuples.
  • Use appropriate methods: There are various methods and techniques available for modifying lists in Python. Choose the method that is most appropriate for your specific task. For example, if you want to add a single item to the end of a list, you can use the append method. If you want to add multiple items, you can use the extend method or the concatenation operator (+). If you want to insert an item at a specific position, you can use the insert method.
  • Pay attention to indexing: When modifying lists, it's important to pay attention to the indexing of the items. In Python, list indexing starts at 0, so the first item in a list has an index of 0, the second item has an index of 1, and so on. Make sure to use the correct index when accessing or modifying items in a list.
  • Use caution with the del statement: The del statement can be used to remove items from a list, but be cautious when using it as it can lead to unexpected results if you are not careful. For example, if you use del to remove an item from a list and then try to access that item later, you will get an error because the item no longer exists.
  • Consider using list comprehensions: List comprehensions are a concise way to create and modify lists in Python. They allow you to create a new list based on the values of another list, with optional conditions applied to filter the values. List comprehensions can be a more efficient and readable alternative to using loops and conditional statements to modify lists.