Почему list.remove(num) не убирает элемент?

Нужно удалить через функцию remove() числа. Почему не все удаляются?

nums = [4, 2, 7, 6, 7, 3, 7, 9]
for i in nums:
    nums.remove(i)
print(nums)  # вывод: [2, 6, 3, 9]

Ответы (1 шт):

Автор решения: Fox Fox

Три варианта:

nums = [4, 2, 7, 6, 7, 3, 7, 9]
nums_copy = nums.copy()
for i in nums_copy: nums.remove(i)
print(nums)

nums = [4, 2, 7, 6, 7, 3, 7, 9]
nums = [i for i in nums if i not in nums]
print(nums)

nums = [4, 2, 7, 6, 7, 3, 7, 9]
nums = []
print(nums)
→ Ссылка