<s>[INST] How to empty a list in Python? It seems so "dirty" emptying a list in this way:
while len(alist) > 0 : alist.pop()

Does a clear way exist to do that?
 [/INST] This actually removes the contents from the list, not replaces the old label with a new empty list
del lst[:]

example:
lst1 = [1, 2, 3]
lst2 = lst1
del lst1[:]
print(lst2)

For the sake of completeness, slice assignment achieves the same effect:
lst[:] = []

and can be used to shrink a part of the list while replacing a part at the same time (but is out of scope of the question).
Note that doing lst = [] does not empty the list, just creates a new object and binds it to the variable lst, but the old list will still have the same elements, and effect will be apparent if it had other variable bindings.
 </s>