Heim > Backend-Entwicklung > Python-Tutorial > Warum führt der Aufruf von „.index' für eine Liste nach Verwendung der Methode „.reverse()' zu einem „AttributeError'?

Warum führt der Aufruf von „.index' für eine Liste nach Verwendung der Methode „.reverse()' zu einem „AttributeError'?

DDD
Freigeben: 2024-11-19 09:43:03
Original
238 Leute haben es durchsucht

Why does calling `.index` on a list after using `.reverse()` method result in an `AttributeError`?

Umkehren einer Liste mit verkettbaren Methoden

In dem von Ihnen bereitgestellten Codeausschnitt versuchen Sie, eine Liste mithilfe der Methode .reverse() umzukehren und sie dann sofort zu verketten eine andere Methode (.index) in der umgekehrten Liste. Allerdings ändert .reverse() die Liste direkt und gibt None zurück, weshalb Sie die Fehlermeldung AttributeError: 'NoneType' object has no attribute 'index' erhalten.

Um dieses Problem zu vermeiden, können Sie verwenden Slicing, um eine umgekehrte Kopie der Liste zurückzugeben. Das Schneiden mit [::-1] kehrt die Reihenfolge der Elemente in der Liste um und erstellt eine neue Liste, ohne die ursprüngliche zu ändern:

formation[::-1]
Nach dem Login kopieren

Dieser Ausdruck gibt eine umgekehrte Kopie der von Ihnen erstellten Formationsliste zurück kann dann verwenden, um .index aufzurufen für:

def solution(formation):
    return (formation.index(bCamel) > (len(formation) - 1 - (formation[::-1]).index(fCamel)))
Nach dem Login kopieren

Mit dieser Änderung ermittelt die Lösungsfunktion erfolgreich, ob der Index von „B“ (bCamel) in der Formationsliste größer als der Index von „F“ ist ' (fCamel) in der umgekehrten Formationsliste, abzüglich der Länge der Formationsliste. Dabei handelt es sich im Wesentlichen um eine Überprüfung, ob „B“ in der umgekehrten Formation vor „F“ steht.

Das obige ist der detaillierte Inhalt vonWarum führt der Aufruf von „.index' für eine Liste nach Verwendung der Methode „.reverse()' zu einem „AttributeError'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage