Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wird „(1 in [1,0] == True)“ in Python als „False“ ausgewertet?

Warum wird „(1 in [1,0] == True)“ in Python als „False“ ausgewertet?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 04:23:02934Durchsuche

Why does `(1 in [1,0] == True)` evaluate to `False` in Python?

Falsche Auswertung von (1 in [1,0] == Wahr)

Im Gegensatz zu einer typischen Programmiersprache wertet Python Ausdrücke mithilfe von Vergleichen aus Operatorverkettung. Im Ausdruck (1 in [1,0] == True) wird die Operation nicht wie erwartet analysiert.

Der Ausdruck wird tatsächlich wie folgt interpretiert:

(1 in [1, 0]) and ([1, 0] == True)

Diese Auswertung schlägt fehl into:

  • (1 in [1, 0]): Dies ergibt „True“, da 1 in der Liste [1, 0] vorhanden ist.
  • ([1, 0] == True): Dies wird als False ausgewertet, da [1, 0] eine Liste und kein boolescher Wert ist.

Der Gesamtausdruck also , ergibt Folgendes:

True and False = False

Dieses unerwartete Ergebnis verdeutlicht den Unterschied in der Auswertung von Ausdrücken in Python im Vergleich zu anderen Sprachen. Um Verwirrung zu vermeiden, verwenden Sie Klammern, um die gewünschte Auswertungsreihenfolge anzugeben:

(1 in [1,0]) == True # True

Das obige ist der detaillierte Inhalt vonWarum wird „(1 in [1,0] == True)“ in Python als „False“ ausgewertet?. 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