Gibt es eine kurze Möglichkeit, None oder Wert in einer Variablen je nach Wert zuzuweisen?Python - Keine oder Wert zuweisen
x= value if value!= 999 else None
Gibt es eine kurze Möglichkeit, None oder Wert in einer Variablen je nach Wert zuzuweisen?Python - Keine oder Wert zuweisen
x= value if value!= 999 else None
result = (on_false, on_true) [Bedingung]
>>> value = 10
>>> x = (None,value)[value != 999]
>>> print x
10
>>> value = 999
>>> x = (None,value)[value != 999]
>>> print x
None
Sie sind die richtige Art und Weise mit ihm zu tun.
aber wenn Sie auf shorten Weg beharren, es herauszufinden Sie diese Methode verwenden kann:
erster Weg:
{0:value}.get(value==999)
mit dem Trick Python Speichern gleiche Hash für falsch und 0 (hash = 0).
zweiter Weg:
{999:None}.get(value,value)
mit get-Methode und Standardwert dieses zu bringen.
dritter Weg:
[None, value][value != 999]
wenn erster Teil steht für Wertanmeldung und die zweiten als Boolesche Bedingung.
Während möglicherweise richtig, würde ich argumentieren, dass alle diese weit mehr obskur als OP ursprünglichen Code sind. – SiHa
Ich muss dir zustimmen :) OP bat um einen "kurzen Weg", also versuche mit meinem Code Golf-Fähigkeiten zu helfen :) – nivhanin
Fair genug:) ... – SiHa