Цикл 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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