„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum funktioniert meine „Not In“-Prüfung für Tupel in Python nicht?

Warum funktioniert meine „Not In“-Prüfung für Tupel in Python nicht?

Veröffentlicht am 14.11.2024
Durchsuche:403

Why Isn\'t My \

Überprüfen des Vorhandenseins von Elementen in einer Python-Liste

Bei der Arbeit mit Listen in Python ist es oft notwendig zu überprüfen, ob ein bestimmtes Element vorhanden ist oder nicht. Für bedingte Verzweigungen, die auf der Abwesenheit eines Elements in einer Liste basieren, wird üblicherweise die folgende Syntax verwendet:

if element not in list:
    # Code to execute if element is not in the list

Ein Benutzer ist jedoch auf ein Problem gestoßen, bei dem diese Syntax für eine Liste von Tupeln nicht wie erwartet funktioniert.

Das Problem

Der bereitgestellte Code versucht zu prüfen, ob ein Tupel nicht in einer Liste enthalten ist, und führt nur dann eine bestimmte Aktion aus, wenn das Tupel nicht vorhanden ist:

if curr_x -1 > 0 and (curr_x-1 , curr_y) not in myList:

    # Do Something

Der Benutzer stellt fest, dass dieser Code unter bestimmten Umständen die beabsichtigte Aktion nicht ausführt.

Die Lösung

Die bereitgestellte Syntax zum Überprüfen, ob ein Element nicht vorhanden ist Eine Liste ist korrekt und sollte ohne Probleme funktionieren. Daher liegt der Fehler wahrscheinlich an einer anderen Stelle im Code.

Um dieses Problem zu beheben, können die folgenden Schritte unternommen werden:

  1. Überprüfen Sie die Werte von curr_x, curr_y und myList während der Bedingungsprüfung: Stellen Sie sicher, dass das Tupel (curr_x-1, curr_y) nicht in myList vorhanden ist, wenn die Bedingung als ausgewertet wird Falsch.
  2. Überprüfen Sie die Einrückung des bedingten Codeblocks: Stellen Sie sicher, dass die beabsichtigte Aktion ordnungsgemäß im if-Block eingerückt ist.
  3. Debuggen Sie den Code durch Drucken Zwischenwerte: Verwenden Sie Druckanweisungen oder einen Debugger, um die Werte von curr_x, curr_y, myList und das Ergebnis der bedingten Prüfung zur Laufzeit anzuzeigen. Dies hilft, die Ursache des Problems einzugrenzen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3