我有这段代码:
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
newDict = {}
def map_lists(Dict1, Dict2):
newDict=dict(zip(dict1, dict2))
print(newDict)
map_lists(dict1, dict2)
print(newDict)
我想更新“ newDict”字典,但是我只能进入该函数以从函数内部打印出映射。
有人能发现我的错误吗?
答案 0 :(得分:1)
您需要通过功能return
。
在函数中执行newDict = dict(zip(dict1, dict2))
时,会创建一个新字典,其作用域在该函数中是本地的,无法在外部访问。
如果您可能在函数之外使用此词典,建议的方法是在函数完成后将新词典返回给调用方。
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
def map_lists(Dict1, Dict2):
newDict = dict(zip(dict1, dict2))
return newDict
newDict = map_lists(dict1, dict2)
print(newDict)
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
def map_lists(Dict1, Dict2):
global newDict
newDict=dict(zip(dict1, dict2))
map_lists(dict1, dict2)
print(newDict)
不建议使用 global
,因为它不是任何语言的良好编程习惯。
答案 1 :(得分:0)
我会这样:
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
def map_lists(Dict1, Dict2):
newDict = {}
newDict=dict(zip(dict1, dict2))
return newDict
newDict = map_lists(dict1, dict2)
print(newDict)