如何将字典作为函数的参数传递以及如何在函数中访问它们

新手上路,请多包涵

我试过这样做:

 def func(dict):
    if dict[a] == dict[b]:
        dict[c] = dict[a]
    return dict

num =  { "a": 1, "b": 2, "c": 2}
print(func(**num))

但它给出了 TypeError。 Func 得到一个意想不到的参数 a

原文由 Rkumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 364
1 个回答

使用 \*\* 将解压字典,在您的情况下,您应该 num 的引用传递给 func,即

print(func(num))

(解 ** 相当于 func(a = 1, b = 2, c = 3) ),例如

def func(arg1, arg2):
    return arg1 + arg2

args = {"arg1": 3,"arg2": 4}
print(func(**args))

原文由 Lewis Fogden 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题