Oct-10-2021, 09:54 PM
(Oct-10-2021, 06:11 PM)Skaperen Wrote: one of the ways could include for x in range(len(the_list)-1,-1,-1):
(i like variable name x, think: index). if i delete the_list[x] inside the body of this for loop
Yes to make code more ugly and less readable could do that 🧺names = ["Alice", "Bob", "Andrew", "Charlie"] for item in range(len(names)-1,-1,-1): if not names[item].startswith('A'): del names[item] print(names)
Output:['Alice', 'Andrew']
It's faster than remove()
solution,but still slower than:names = ["Alice", "Bob", "Andrew", "Charlie"] names = [name for name in names if name.startswith('A')] print(names)
Output:['Alice', 'Andrew']
If think in place
is cool,so is there a way with this the last one.names = ["Alice", "Bob", "Andrew", "Charlie"] print(id(names)) names[:] = [name for name in names if name.startswith('A')] print(names) print(id(names))
Output:2496125597184
['Alice', 'Andrew']
2496125597184