Kurze Frage zu Syntax

  • Hallo, ich habe eine kurze Frage zu einem Befehl in Python den ich nicht richtig interpretieren kann:

    wert = (("NULL","0%")[orange == 1],"100%")[blue == 1]


    Was er macht weiß ich, aber wie lautet diese Syntax? Nach was muss ich suchen. EIgentlich ist das ja ein IF .... aber finde nix


    Danke

  • Go to Best Answer
  • Der Vergleich liefert True/False. Welche auch die Werte 0 und 1 sind. Und damit einen Index darstellen. Ich würde das heutzutage mit einem ternären if Operator machen.

  • ok danke für die repsone ... eine Frage noch:

    D.h. aber das in dem Statment die Bedingung hinter dem Rückgabewert steht. Ganz verstehe ich die Logik gerade nicht.


    If Logik:


    Code
    if blue == 1: 
       print ("Blau") 
    elif orange == 1: 
       print ("Orange") 
    else: 
       print ("Nichtx")
    • Best Answer

    Ich sagte ja auch ternäres if. Nicht normales.



    ("NULL","0%")[orange == 1]


    ist äquavilent zu


    "0%" if orange == 1 else "NULL"


    Und das passiert zweimal innerhalb eines Tupels.