Цикл for не удаляет каждый элемент в списке [дубликат]Python

Программы на Python
Anonymous
Цикл for не удаляет каждый элемент в списке [дубликат]

Сообщение Anonymous »

Я только начал изучать Python, и мне это очень понравилось. В настоящее время я смотрю на цикл for, и у меня возникла путаница, и я не могу понять логику, почему он не работает. Надеюсь, вы поможете мне это понять:

Код: Выделить всё

number = ["one", "two", "three", "four", "five", "six", "one", "one"]
for num in number:
if num == "one":
number.remove("one")
print(number)
Следующий результат дает мне следующий результат:
['two', 'three', 'four', 'five', 'six', 'one']
Почему все повторяющиеся значения "one" не удаляются из списка? Я поигрался с размещением нескольких дубликатов «единицы» в списке и заметил нечастые случаи. Некоторые повторяющиеся значения удаляются, а некоторые не удаляются вообще.
Кроме того, я заметил, что если я использую следующее, кажется, что удаляется все:

Код: Выделить всё

for num in number[:]
Может кто-нибудь объяснить мне, что здесь происходит, поскольку я действительно запутался?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-the-list

Вернуться в «Python»