字典中的条件键 - python

时间:2014-07-11 17:46:15

标签: python dictionary nonetype

我有一个带有可选参数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 个答案:

答案 0 :(得分:4)

您的方法很好,提供您不需要支持空值。

例如,考虑传入user_device=0user_device不是None,但 是假名值。

如果您需要从None支持虚假值分开,请使用is not None进行测试:

if user_device is not None:
    parameters["user_device"] = user_device