Wie Entferne ich einen Bereich (Unterabschnitt) von einer Liste in Python?

Habe ich eine einfache, immer-aufeinander-geordnete Liste wie diese:

all = [ 1, 2, 3, 4, 5, 6 ] # same as range( 1, 7 )

Ich habe auch current = 4. Am Ende will ich die all Liste zu schauen, wie diese

altered = [ 1, 2, 5, 6 ]

Was also passierte, war es entfernt die current Anzahl und die ein, bevor es 3.

current auch 1 und 0, so möchte ich sicherstellen, dass es keine Fehler für diese beiden Werte.

Für die Ausnahme current = 0 die veränderte Liste ist wie folgt

altered = [ 1, 2, 3, 4, 5 ]

Was bedeutet, dass current = 0 entfernt einfach die Letzte Zahl.

Ich fühle mich wie du kann wohl etwas code, der Phantasie mit Generatoren, aber ich zu saugen, Sie zu schreiben.

Vielen Dank im Voraus!

Bonus-Punkte, dies zu tun in einer Zeile. Wenn die current = 0 ist zu viel Mühe macht, dann könnte es auch sein current = -1 oder current = 7.

EDIT: vergewissern Sie sich, dass für current = 1, die

altered = [ 2, 3, 4, 5, 6 ]
  • Wenn aktuell==4 ist die 4 aus der Liste entfernt, weil Sie den Wert 4 oder, weil es ist, in der vierten position (beim zählen von eins)? Ebenso ist die 3 entfernt werden, da es die kleinste Zahl, die kleiner als 4 ist, oder weil es auf dem index vor dem Element entfernt?
  • Die Liste ist immer ein range() es ist also egal, ob man Sie als eine position oder Wert.
  • Rufen Sie nicht Ihre Listen all da gibt es eine eingebaute Funktion all() und entfernt den Zugriff auf Sie, sobald Sie den Namen verwenden.
InformationsquelleAutor hobbes3 | 2012-04-10
Schreibe einen Kommentar