Не работает remove(i)
Сделал программу которая удаляет из парных чисел списка все которые кратные 3, но оно то удаляет то нет
import random
list=random.sample(range(1,20),10)
print(list)
par=[]
for i in list:
if i % 2 == 0:
par.append(i)
print(par)
for i in par:
if i % 3 == 0:
par.remove(i)
print(par)
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
а вы оригинал :)
удалять из списка по которому при этом еще и двигаетесь - тут последствия вообще непредсказуемые могут быть!
вам по хорошему надо или на каждый remove начинать свой новый for или просто собрать новый вектор
res = [i for i in par if i % 3 != 0]
ну или через filter
res = filter(lambda i: i % 3 != 0, par)