ich nach einer Möglichkeit, jedes n-ten Element zu entfernen (lassen Sie sich das Element nennen i
) in einer Liste, und auch x Anzahl der Elemente, die direkt i
in der Liste sind, wenn i
eine Bedingung erfüllt.Wenn Element in der Liste Bedingung erfüllt, entfernen Sie Artikel und mehr vorhergehende Artikel
Ich habe mich um List Comprehensions und Iterationen gekümmert, aber es war schwierig für einen Anfänger, eine Lösung zu finden.
Beispiel:
myList = ["you", "are", "right", "I", "am", "wrong"]
Für jeden 3. Artikel, prüfen Sie, ob i == "wrong"
: Wenn ja, entfernen i
und die zwei(2) Artikel vorhergehendeni
.
Wirkung: Die Sequenz "I, "am", "wrong"
wird aus der Liste gelöscht.
Was passiert, wenn "falsch" am Anfang der Liste auftritt, oder wenn zwei "falsche" Zeichen mit weniger als zwei Zeichen auftreten? – BrenBarn
Und ... denkst du, wir sind hier, um das für dich zu schreiben? – jonrsharpe
@BrenBarn Danke für die Nachfrage! Das wird nie passieren - in meinem Beispiel kann man nur "rechts" und "falsch" am dritten Ort finden. Und da drei Elemente gelöscht werden, wenn die Bedingung erfüllt ist, bleibt es so. Aber für zukünftige Leser, die nicht an diese Regel gebunden sind, sollte die Reihenfolge der Liste berücksichtigt werden. – Winterflags