которые есть в списке b
Код
def array_diff(a, b):
for i in a:
if i in b:
a.remove(i)
return a
print(array_diff([1,2,2,2,3],[2]))
Вывод
[1, 2, 3]
Вопрос
Почему не все 2 удивляет из списка а?
Спасибо!
Или как ещё удалить элементы в списке без итерации?
вычти из а b, получишь все что в а, но не в b. результат приравняй куда хочешь
Смотри На первой итерации у тебя i = 1 Ничего не происходит Дальше i = 2 ты ее удаляешь и получаешь [1,2,2,3] Следующий элемент теперь у тебя это вторая двойка ты ее удаляешь и остается [1,2,3] Создай копию списка который изменяешь и делай проверку для элементов копии а меняй исходный копию можно создать срезом
Обсуждают сегодня