将字典作为函数参数传递并在Python中调用函数
在下面的代码中,如何将字典传递到将字典作为函数参数传递并在Python中调用函数,python,dictionary,keyword-argument,Python,Dictionary,Keyword Argument,在下面的代码中,如何将字典传递到func2。如何调用func2 def func2(a,**c): if len(c) > 0: print len(c) print c u={'a':1,'b':2} func2(1,u) 正如它接受它们一样: func2(1,**u) 正如它接受它们一样: func2(1,**u) 这可能会帮助您: def fun(*a, **kw): print a, kw a=[1,2,3] b=dict(a=1, b=2,
func2
。如何调用func2
def func2(a,**c):
if len(c) > 0:
print len(c)
print c
u={'a':1,'b':2}
func2(1,u)
正如它接受它们一样:
func2(1,**u)
正如它接受它们一样:
func2(1,**u)
这可能会帮助您:
def fun(*a, **kw):
print a, kw
a=[1,2,3]
b=dict(a=1, b=2, c=3)
fun(*a)
fun(**kw)
fun(*a, **kw)
这可能会帮助您:
def fun(*a, **kw):
print a, kw
a=[1,2,3]
b=dict(a=1, b=2, c=3)
fun(*a)
fun(**kw)
fun(*a, **kw)
这不会运行,因为名称a有多个参数 但如果您将其更改为:
def func2(x,**c):
if len(c) > 0:
print len(c)
print c
那么你称之为:
func2(1, a=1, b=2)
或
这不会运行,因为名称a有多个参数 但如果您将其更改为:
def func2(x,**c):
if len(c) > 0:
print len(c)
print c
那么你称之为:
func2(1, a=1, b=2)
或
您的
for
循环仍然无法工作。去掉c中的和'a',它会,不确定该子句试图做什么?@agf:我已经修改了代码,现在正在打印你的for
循环仍然不起作用。去掉c中的和'a'
,它会,不确定该子句试图做什么?@agf:我已经修改了代码,现在只是额外打印:def func2(a,c):…
和func2(1,u)
也会工作。使用变量参数或标准参数取决于您试图实现的目标。func2(1,**u)我收到一个错误,错误是Typeerror:func2()为关键字参数“a”获得了多个值。我收到上述错误,因为字典中有键“a”,其中一个参数也是“a”。当我更改它时,错误得到了解决。另外:def func2(a,c):…
和func2(1,u)
也可以工作。使用变量参数或标准参数取决于您试图实现的目标。func2(1,**u)我收到一个错误,错误是Typeerror:func2()为关键字参数“a”获得了多个值。我收到上述错误,因为字典中有键“a”,其中一个参数也是“a”。当我更改它时,错误得到解决..是真的,我意识到并更新了注释的in。因此参数名称和dict键不应该是相同的。谢谢..是真的,我意识到并更新了注释的in。因此参数名称和dict键不应该是相同的。谢谢。。