在 python2 中使用字典作为单行代码填充方法中的默认变量

Using dictionary to populate default variables in methods as a one-liner in python2

我想将字典中的值(仅当它存在时)传递给我的函数。如果该字典中不存在键、值,我希望该方法使用其默认值。

例如,使用方法 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) 就可以了。这正是我要找的。