2016-07-18 32 views
0

Ich bin auf ein Verhalten gestoßen, das mich verwirrt.Python: Boolesche Listenwerte ändern

to_return = [[], False] 
for i in other_list: 
    value, flag = i[0], i[1] 
    to_return[0].append(value) 
    if flag is True and to_return[1] is False: 
     to_return[1] is True 

Mit anderen Worten, ändern Sie einfach das Bool auf True, wenn etwas, das ich anhänge, einen True-Wert enthält.

Warum ist to_return[1] is True in diesem Code nicht erreicht? Und wie sollte ich diesen Wert aktualisieren?

+2

Möchten Sie sagen: 'to_return [1] = True '(in der letzten Zeile)? – SuperSaiyan

+0

@SuperSaiyan anscheinend habe ich. Nicht genug Kaffee heute, schätze ich. – AutomaticStatic

Antwort

0

to_return[1] is True ist einfach ein boolescher Ausdruck. Vielleicht meinst du to_return[1] = True?

+0

Ja, danke. Entschuldigung für die dumme Frage. – AutomaticStatic

0

"wenn smth == True" kann mit einfachen "if smth" ersetzt werden, so Code wird besser aussehen. Wenn Sie nach falscher Verwendung suchen müssen, ist "if smth == False"