Ich weiß, dass es von einigen verpönt ist, aber ich mag Pythons ternären Operator verwenden, wie es einfach zu lesen (denke ich) if
/else
Anweisungen. Auf jeden Fall habe ich festgestellt, dass ich dies nicht tun können:Python-ternärer Operator kann mehrere Werte nicht zurückgeben?
>>> a,b = 1,2 if True else 0,0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
Die Art und Weise dachte ich, der ternäre Operator funktioniert, ist, dass es die folgenden wesentlichen baut:
if True:
a,b = 1,2
else:
a,b = 0,0
Könnte jemand erklären, warum Mein erstes Codebeispiel funktioniert nicht? Und wenn es einen gibt, bieten Sie einen Einzeiler an, um mehrere Variablen bedingt zuzuweisen?
Good ol‘‚Komma-Operator hat niedrigere Priorität als die bedingte ternären‘... Selbst in C arbeitet .. –
Ah, vielen Dank! – Valdogg21
@ Valdogg21 Gern geschehen :) – Doorknob