Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste umkehren und den Index eines Elements finden, ohne die ursprüngliche Liste zu ändern?
Verkettung von .reverse mit .index in einer Liste
Dieser Code schlägt fehl, wenn versucht wird, .reverse- und .index-Methoden in einer Liste zu kombinieren:
k = ['F', ' ', 'B', 'F'] def solution(formation): return ((formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel)))) solution(k)
Das Problem entsteht, weil .reverse „None“ zurückgibt, was es effektiv unmöglich macht, .index weiter zu verketten die umgekehrte Liste.
Vermeiden separater Reverse-Anweisungen
Um die Verwendung einer separaten Anweisung zum Umkehren der Liste vor der Indizierung zu vermeiden, können Sie Slicing verwenden, um die umgekehrte Liste zu erhalten:
formation[::-1]
Dadurch wird eine neue Kopie der Liste in umgekehrter Reihenfolge zurückgegeben, wobei die ursprüngliche Reihenfolge innerhalb der vorhandenen beibehalten wird Liste.
Mit dieser Anpassung wird die korrigierte Lösung zu:
k = ['F', ' ', 'B', 'F'] def solution(formation): return ((formation.index(bCamel) > (len(formation) - 1 - (formation[::-1]).index(fCamel)))) solution(k)
Dieser Code verwendet erfolgreich die umgekehrte Liste, um die Positionen von fCamel und bCamel innerhalb der Formation zu vergleichen, ohne die ursprüngliche Liste zu ändern.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste umkehren und den Index eines Elements finden, ohne die ursprüngliche Liste zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!