Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste umkehren und den Index eines Elements finden, ohne die ursprüngliche Liste zu ändern?

Wie kann ich eine Liste umkehren und den Index eines Elements finden, ohne die ursprüngliche Liste zu ändern?

Susan Sarandon
Susan SarandonOriginal
2024-11-11 05:05:02437Durchsuche

How to Reverse a List and Find an Element's Index Without Modifying the Original List?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn