Python在函数中附加字典
我试图理解函数是如何工作的,我创建了一个函数,它将2个字典作为参数,并返回1个字典。当我运行该函数时,它会按预期工作并返回完整的字典。该函数的目的是迭代for循环并在y中删除数据 但是如果我运行y,我会得到一个空字典,当我想要存储x的所有值时Python在函数中附加字典,python,function,dictionary,Python,Function,Dictionary,我试图理解函数是如何工作的,我创建了一个函数,它将2个字典作为参数,并返回1个字典。当我运行该函数时,它会按预期工作并返回完整的字典。该函数的目的是迭代for循环并在y中删除数据 但是如果我运行y,我会得到一个空字典,当我想要存储x的所有值时 y Out: {} (移动评论以回答问题) 在函数中,您正在设置一个局部变量y,它与函数外部定义的全局y不同 要访问本地值,有两个选项: ► 使用函数的返回值设置全局变量: y = testing_dict(x,y) # get return val
y
Out: {}
(移动评论以回答问题)
在函数中,您正在设置一个局部变量y
,它与函数外部定义的全局y
不同
要访问本地值,有两个选项:
► 使用函数的返回值设置全局变量:
y = testing_dict(x,y) # get return value
► 从函数中更新全局变量:
def testing_dict(x, y):
global y # access global variable
y = {**x, **y} # set global variable
return y
返回
y
。不更新全局变量。试试y=testing\u dict(x,y)
像个魔咒一样工作
def testing_dict(x, y):
global y # access global variable
y = {**x, **y} # set global variable
return y