For-Schleife entfernt nicht jedes Element in der Liste [Duplikat]Python

Python-Programme
Anonymous
 For-Schleife entfernt nicht jedes Element in der Liste [Duplikat]

Post by Anonymous »

Ich habe gerade angefangen, Python zu lernen, und es hat mir wirklich Spaß gemacht. Ich schaue mir gerade die „for“-Schleife an und es herrscht Verwirrung bei mir, und ich kann die Logik dahinter nicht verstehen, warum sie nicht funktioniert. Ich hoffe, Sie alle können mir helfen, das zu verstehen:

Code: Select all

number = ["one", "two", "three", "four", "five", "six", "one", "one"]
for num in number:
if num == "one":
number.remove("one")
print(number)
Das Folgende gibt mir diese Ausgabe:
['two', 'drei', 'vier', 'fünf', 'sechs', 'eins']
Warum werden nicht alle duplizierten Werte „eins“ aus der Liste gelöscht? Ich habe damit herumgespielt, mehrere Duplikate von „Eins“ auf die Liste zu setzen, und mir sind Unregelmäßigkeiten aufgefallen. Es löscht einen Teil des duplizierten Werts und einen Teil überhaupt nicht.
Außerdem ist mir aufgefallen, dass, wenn ich Folgendes verwende, scheinbar alles gelöscht wird:

Code: Select all

for num in number[:]
Kann mir bitte jemand erklären, was hier los ist, da ich wirklich verloren bin?
Vielen Dank

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post