Problem: You’ve just learned about the
list.clear() method in Python. You wonder, what’s its purpose? Why not creating a new list and overwriting the variable instead of clearing an existing list?
Example: Say, you have the following list.
lst = ['Alice', 'Bob', 'Carl']
If you clear the list, it becomes empty:
lst.clear() print(lst) # 
However, you could have accomplished the same thing by just assigning a new empty list to the variable
lst = ['Alice', 'Bob', 'Carl'] lst =  print(lst) # 
The output is the same. Why does the
list.clear() method exist in the first place?
If you go through the following interactive memory visualizer, you’ll see that both variants lead to different results if you have multiple variables pointing to the list object:
In the second example, the variable
lst_2 still points to a non-empty list object!
So, there are at least two reasons why the
list.clear() method can be superior to creating a new list:
- Release Memory: If you have a large list that fills your memory—such as a huge data set or a large file read via
readlines()—and you don’t need it anymore, you can immediately release the memory with
list.clear(). Especially in interactive mode, Python doesn’t know which variable you still need – so it must keep all variables till session end. But if you call
list.clear(), it can release the memory for other processing tasks.
- Clear Multiple List Variables: Multiple variables may refer to the same list object. If you want to reflect that the list is now empty, you can either call
list.clear()on one variable and all other variables will see it, or you must call
var1 = , var2 = , ..., varn = for all variables. This can be a pain if you have many variables.
Do you want to develop the skills of a well-rounded Python professional—while getting paid in the process? Become a Python freelancer and order your book Leaving the Rat Race with Python on Amazon (Kindle/Print)!
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.