Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字典作为参数发送到python函数_Python_Python 2.7_Dictionary - Fatal编程技术网

如何将字典作为参数发送到python函数

如何将字典作为参数发送到python函数,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,下面的代码不起作用,数据是一个字典&我想知道如何将它传递给函数 def my_function(x={}): for i , j in x: print (i) print (j) data = {'a':1, 'b': 2, 'c': 3} my_function(**data) 以下代码应适用于您: def my_function(x={}): for i, j in x.iteritems(): print (i) print (

下面的代码不起作用,数据是一个字典&我想知道如何将它传递给函数

def my_function(x={}):
for i , j in x:
    print (i)
    print (j)

data = {'a':1, 'b': 2, 'c': 3}
my_function(**data)

以下代码应适用于您:

def my_function(x={}):
    for i, j in x.iteritems():
        print (i)
        print (j)

data = {'a':1, 'b': 2, 'c': 3}
my_function(data)
解释

  • 确保缩进是正确的
  • 要迭代字典,请使用
    dict.iteritems
    (在Python2.x中)或
    dict.items
    (在Python3中)
  • 如果以这种方式迭代字典,则没有理由使用解包
    **
    运算符
  • 了解使用的陷阱

以下代码应适用于您:

def my_function(x={}):
    for i, j in x.iteritems():
        print (i)
        print (j)

data = {'a':1, 'b': 2, 'c': 3}
my_function(data)
解释

  • 确保缩进是正确的
  • 要迭代字典,请使用
    dict.iteritems
    (在Python2.x中)或
    dict.items
    (在Python3中)
  • 如果以这种方式迭代字典,则没有理由使用解包
    **
    运算符
  • 了解使用的陷阱

您是否尝试过将字典作为参数传递
my_函数(数据)
让默认参数值可变不是一个好做法@AmitKarnik这并不是说它不是“好的实践”,而是它不像大多数人所期望的那样有效。是的,这就是我想说的。不管怎样,谢谢。你有没有试着把字典作为论据传给别人
my_函数(数据)
让默认参数值可变不是一个好做法@AmitKarnik这并不是说它不是“好的实践”,而是它不像大多数人所期望的那样有效。是的,这就是我想说的。无论如何,谢谢。如果你的实函数改变了它的参数()@brunodesthuilliers,那就要小心可变默认参数的问题了。在这个特定的用法中,这不是问题,但我会添加那个链接。如果你的实函数改变了它的参数()@brunodesthuilliers,那就要小心可变默认参数的问题,很好的一点-在这个特定的用法中不是一个问题,但我会添加这个链接。