python - Python3函数将列表映射到字典
问题描述
我有这段代码:
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”字典,但我只能使用函数从函数内部打印出映射。
谁能发现我的错误?
解决方案
你需要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
不建议使用,因为它不是任何语言的良好编程习惯。
推荐阅读
- sql - SQL:Ride Share 数据查找 4 周移动平均取车时间
- javascript - 如何通过 JS 检测 CSS 转换的状态并跳过它
- wordpress - Wordpress 更新后在页面列表中看不到页面
- swift - 如何在 Firebase 实时数据库中将一组图像 URL 组合在一起?(迅速)
- c++ - 在 C++ 中实现程序时显示不正确的输出
- react-native - 使用flexwrap时过滤每行的第一项
- python - Selenium 卡在“访问 URL 之前检查浏览器”
- java - Kinesis 消费者异步检查点
- c++ - 带有私有向量 .push_back 的 OpenMP 在循环完成后不会释放所有内存
- arrays - 如何将几个 Google 表格列转换为 JSON 字符串?