Listen Null in Python indiziert sind. So my_list[0] == 12
, my_list[1] == 'cat'
usw.
Die Schleife for k in range(5):
Schritte, so dass k
die Werte bekommt 0
, 1
, 2
, 3
, 4
(das Ende ist exklusiv, so k
nie 5
zu gehen.
if k % 2:
bedeutet, "wann immer k
modulo 2 ungleich Null ist", was äquivalent zu "wenn k
ungerade ist". Der erste ungerade Wert, der k
bekommt, ist 1
.my_list[1]
ist "cat"
, so dass zuerst an new_list
angehängt wird.
list.pop
entfernt und gibt ein Element aus der Liste zurück. Das heißt, sobald k == 1
verarbeitet wurde, ist "cat"
nicht mehr in der Liste. my_list
wird danach [12, 3.4, "dog", 62]
sein.
Die nächste ungerade Zahl ist 3
. my_list[3]
ist jetzt 62
. Wenn "cat"
nicht entfernt worden wäre, wäre es stattdessen "dog"
gewesen. my_list
wird danach [12, 3.4, "dog"]
sein.
Jetzt kommt der entscheidende Teil: Der letzte Wert von k
ist 4
. Glücklicherweise ist 4 gerade, so dass die if
nicht eingegeben wird. Wenn es gewesen wäre, würde es einen Fehler geben, weil my_list
nur noch 3 Elemente hat, und Sie das fünfte Element (Index 4) nicht abschalten können.
Vielen Dank! Extrem hilfreich –