Skip to main content

Python List clear() Function

The List clear() method removes all items from the list, making it an empty list.

Syntax

my_list.clear()

clear() Parameters

Python List clear() function does not take any parameters.

clear() Return Value

Python List clear() function does not return any value: it empties the list in place.

Examples

Example 1: Empty a List with clear()

my_list = ['Tom', 'David', 'Anna']
my_list.clear()

print(my_list) # Output: []

output

[]

Example 2: clear() vs Assigning an Empty List

clear() is not same as assigning an empty list my_list = [].

Assigning an empty list to my_list with my_list = [] does not clear the list in-place because it essentially replaces the my_list variable with a new, empty list. This means that if there were other references to the original list, those references remain unchanged, potentially leading to issues.

In the following example you can see an example of assigning a new empty list instead of clearing with clear() method:

# Original list
original_list = [1, 2, 3]

# Another reference to the original list
another_reference = original_list

# Attempt to clear the list using assignment
original_list = []

# Print the original list and the other reference
print("Original list after clearing:", original_list)
print("Another reference after clearing:", another_reference)

output

Original list after clearing: []
Another reference after clearing: [1, 2, 3]

Alternative to clear() method for Python 2 or below Python 3.2 users

For Python 2.x or below Python 3.2 users, clear() method is not available.

Alternative 1: del keyword

You can remove all items from the list by using del keyword on a start-to-end slice.

my_list = ['Tom', 'David', 'Anna']
del my_list[:]

print(my_list) # Output: []

output

[]

Alternative 2: Assign Empty List

Assigning empty list to a start-to-end slice will have same effect as clear().

my_list = ['Tom', 'David', 'Anna']
my_list[:] = []

print(my_list) # Output: []

output

[]

Alternative 3: Multiplying 0 to a List

Multiplying 0 to a list using multiplication assignment operator will remove all items from the list in place.

my_list = ['Tom', 'David', 'Anna']
my_list *= 0

print(my_list) # Output: []

output

[]
note

Any integer that is less than or equal to 0 would have the same effect.