Python - 分配无或值



有没有一种简短的方法可以在变量中分配 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]

当第一部分代表值声明,第二部分代表布尔条件时。

最新更新