Python Remove Last Element from List

Harsh S.
By
Harsh S.
Hello, I'm Harsh, I hold a degree in Masters of Computer Applications. I have worked in different IT companies as a development lead on many large-scale...
8 Min Read

Sometimes, you may need to remove the last element from a list in your Python programs. There are several ways to do this in Python, including built-in functions and slicing techniques.

How to Remove the Last List Element in Python

Lists are one of the most fundamental data structures in Python. They are mutable, which means their elements can be changed after their creation.

Remove the Last Element from a List

Here are the most common methods for removing the last element from a list in Python:

Using Pop() Method

The pop() method is the most common and straightforward way to remove the last element from a list. It takes one optional argument, which is the index of the element to remove. If no index is specified, the last element is removed by default.

my_list = [-11, -22, -33, -44, 55]

# Remove the last element from the list
last_element = my_list.pop()

# Print the list
print(my_list)

After you run the above code, it will give you the following result.

[-11, -22, -33, -44]

Use Slicing Technique

Slicing allows you to create a new list by specifying a range of elements from the original list. To remove the last element from a list using list slicing, you can use the following syntax:

my_list[:-1]

This will return a new list with all elements from the original list except for the last one.

my_list = ['a', 'e', 'i', 'o', 'u', 'v']

# Remove the last element from the list using list slicing
new_list = my_list[:-1]

# Print the new list
print(new_list)

When you execute the above program, it will give the following output.

['a', 'e', 'i', 'o', 'u']

Must Read: Python List All Files in a Directory

Python Del Keyword

The keyword del can work to delete any object. So, you can also use it to remove the last element from a list.

To delete the last element from a list using the del keyword, you can use the following syntax:

del target_list[-1]

Please go through the following example. It demonstrates the deletion of the last element of a list.

target_list = ['German', 'English', 'French', 'Japanese', 'Korean', 'Chinese']

# Remove the last element from the target_list using the `del` keyword
del target_list[-1]

# Print the target_list 
print(target_list )

The above program will print the following removing the last element.

['German', 'English', 'French', 'Japanese', 'Korean']

Using List Comprehension

List comprehensions provide a concise way to create new lists based on existing ones. You can use list comprehension to iterate through the elements of the original list and exclude the last element.

target_list = ['Steve Jobs', 'TJ Rodgers', 'Larry & Sergey', 'Paul Buchheit', 'Sam Altman']
target_list = [x for x in my_list[:-1]]

# Print the updated target_list 
print(target_list )

In this example, a new list is created, excluding the last element, and assigned back to target_list. However, the final list will display the following result once you print it.

['Steve Jobs', 'TJ Rodgers', 'Larry & Sergey', 'Paul Buchheit']

Using Extend() Method

The extend() method can be used to add elements from one list to another. To remove the last element from a list using Python Extend. you can create a new list with all elements except the last one and then extend the original list with the new list.

source = [1, 2, 3, 4, 5]

target = my_list[:-1]
source = []

source.extend(target)

Here, a target list is created without the last element, and then the source list is extended with the contents of target, effectively removing the last element.

Comparing Different Methods

Here is a brief review of the above Python methods. Check and see how efficiently they remove the last element from the list.

MethodDescriptionExampleProsCons
pop() MethodRemoves and gives back the last thing.my_list.pop()Works directly on your list, gets valueChanges the list
SlicingMakes a new list without the last thing.my_list[:-1]Keeps your original list safeMakes a new list, might use more memory
del StatementDeletes the last thing by its position.Directly change your listDirectly change your listChanges the list
List ComprehensionMakes a new list, excluding the last thing.[x for x in my_list[:-1]]Keeps your original list safeMakes a new list, might use more memory
extend() MethodMakes a new list without the last thing, and adds it to the original.Refer to method 5 exampleKeeps your original list safeMakes a new list, involves extra steps
Difference between various methods

Also Read:
Get the Last Element of a List in Python
Delete Elements from a List in Python

Summary

In conclusion, choosing the most suitable method to remove the last element from a list in Python depends on your specific use case. Here are some ideas:

  1. If you want an in-place operation and need the value of the last element, the pop() method is a good choice. However, be aware that it modifies the original list.
  2. If you prefer a non-destructive approach that preserves the original list and memory is not a concern, slicing or list comprehension is a clean and readable solution.
  3. When you need to remove the last element in place but don’t require the value, the del is efficient.
  4. If you need both an in-place operation and a new list without the last element, consider using the extend() method as it offers a balance between performance and readability.

In summary, the choice of method depends on your specific requirements, such as whether you need to modify the original list, preserve it, or obtain the value of the removed element.

By understanding these methods and their trade-offs, you can effectively remove the last element from a list in Python based on your project’s needs.

Lastly, our site needs your support to remain free. Share this post on social media (Facebook/Twitter) if you gained some knowledge from this tutorial.

Enjoy coding,
TechBeamers.

Share This Article