0
data = [11,1,1,1,33,1,1,1,133,44,55]
for each in data:
    if each == 1:
        data.remove(1)
print(data)

OUTPUT:

[11, 33, 1, 1, 133, 44, 55]
Adelin
  • 7,809
  • 5
  • 37
  • 65

1 Answers1

2

You should avoid modifying an iterable while iterating, since you're messing up the indexing.

Use list comprehensions to easily filter data:

[i for i in data if i!=1.]
# [11, 33, 133, 44, 55]

Or:

new_list = []
for each in data:
    if each != 1:
        new_list.append(each)
yatu
  • 86,083
  • 12
  • 84
  • 139