有没有一种简短的方法可以在变量中分配 None 或值,具体取决于值?
x= value if value!= 999 else None
结果 = (on_false, on_true([条件]
>>> value = 10
>>> x = (None,value)[value != 999]
>>> print x
10
>>> value = 999
>>> x = (None,value)[value != 999]
>>> print x
None
你正在使用正确的方法来做到这一点。
但是如果你坚持用缩短的方式来弄清楚,你可以使用这种方法:
第一种方式:
{0:value}.get(value==999)
使用技巧 python 为 False 和 0 保存相同的哈希(哈希 = 0(。
第二种方式:
{999:None}.get(value,value)
使用 get 方法和默认值来实现这一点。
第三种方式:
[None, value][value != 999]
当第一部分代表值声明,第二部分代表布尔条件时。