字典中的条件键 - python
我有一个函数叫做 create_group
,它有一个可选的参数 user_device=None
。如果给 user_device
提供了一个不是 None 的值,我希望一个字典 targeting_spec
包含键值对 "user_device": user_device
;如果没有提供非 None 的值,我就不想让 targeting_spec
包含这个键值对。
我现在的做法是:
def create_group(..., user_device=None, ...):
...
targeting_spec = {
...
}
if user_device:
targeting_spec["user_device"] = user_device
...
这样做可以吗?如果不行,那应该怎么做呢?我问这个是因为我觉得这应该是 Python 喜欢优雅解决的问题。
1 个回答
5
你的方法没问题,前提是你不需要处理空值。
比如可以传入 user_device=0
。这里的 user_device
不是 None
,但它 确实 是一个“假值”。
如果你需要处理除了 None
以外的“假值”,可以用 is not None
来进行测试:
if user_device is not None:
parameters["user_device"] = user_device