I am trying to remove empty strings from a list except the 1st element. I have this code –
my_list = ['', 'CHANGE_TO(1)', 'x', 'x', 'x', 'x', 'x', '1', '']
while("" in my_list[1:]) :
my_list.remove("")
print(my_list)
But I am not getting the desires result. It’s still removing the 1st element. The result I am looking for is –
['', 'CHANGE_TO(1)', 'x', 'x', 'x', 'x', 'x', '1']
But I am getting –
['CHANGE_TO(1)', 'x', 'x', 'x', 'x', 'x', '1']
>Solution :
my_list = ['', 'CHANGE_TO(1)', 'x', 'x', 'x', 'x', 'x', '1', '']
out = [el for i, el in enumerate(my_list) if i == 0 or el]
print(out)
['', 'CHANGE_TO(1)', 'x', 'x', 'x', 'x', 'x', '1']