将字典作为函数参数传递并在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键不应该是相同的。谢谢。。