Methodenverkettung zur Listenumkehr
Beim Arbeiten mit Listen ist es oft wünschenswert, eine umgekehrte Kopie zu erstellen, ohne explizit eine separate Anweisung zu verwenden. Die integrierte list.reverse()-Methode gibt jedoch None zurück und ändert die Liste direkt.
Das Problem
Beachten Sie den folgenden Code:
k = ['F', ' ', 'B', 'F'] def solution(formation): return (formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel))) solution(k)
Dieser Code versucht, die Indizes zweier Zeichen (bCamel und fCamel) in einer umgekehrten Liste zu vergleichen. Es wird jedoch ein AttributeError ausgelöst, da list.reverse() None zurückgibt und (formation.reverse()) als None zurückbleibt.
Lösung: Verwenden von Slicing
Anstelle von Wenn Sie sich auf list.reverse() verlassen, können Sie Slicing verwenden, um eine umgekehrte Liste zu erhalten:
reversed_formation = formation[::-1]
Die Syntax [::-1] kehrt die Liste um, ohne sie direkt zu ändern. Sie können dann nach Bedarf reversed_formation verwenden:
def solution(formation): reversed_formation = formation[::-1] return (formation.index(bCamel) > (len(formation) - 1 - reversed_formation.index(fCamel)))
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste in Python umkehren, ohne die ursprüngliche Liste zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!