我想从字典中传入一个值 - 仅当它存在时 - 到我的函数。如果此字典中不存在键值,我希望该方法使用其默认值。
例如,使用方法 m:
def m(a=1, b=2, c=3)
和字典 d:
d = {"a": 5}
我想将字典的值传入方法(如果它们存在于一行中(。像这样:
m(a=d["a"] if d.get("a"), b=d["b"] if d.get("b"), c=d["c"] if d.get("c"))
有没有办法在 python2 中作为一行来做到这一点?或者我是否坚持使用多个 if 条件,如下所示:
if d.get("a") and d.get("b") and d.get("c"):
m(a=d["a"], b=d["b"], c=d["c"])
elif d.get("a") and d.get("b"):
m(a=d["a"], b=d["b"])
elif d.get("a"):
m(a=d["a"])
# ...and so on
如果我打电话m(**d)
它就可以了。这正是我想要的。