如何按索引对应将列表元素作为变量名绑定另一列表的对应值
实现方案
这里提供两种可行的实现方式,你可以根据自己的使用场景选择:
方案1:用字典存储(推荐)
这种方式不会污染全局命名空间,是Python中处理这类需求的规范写法:
l1 = ['img1','img2'] l2 = [[1,4,5],[6,3,1]] # 用zip按索引配对两个列表,直接转成字典 res = dict(zip(l1, l2))
使用的时候直接通过键取值即可:
res['img1']对应值为[1,4,5]res['img2']对应值为[6,3,1]
方案2:直接生成独立变量
如果你确实需要直接使用img1、img2这种独立变量名,可以操作全局命名空间实现:
l1 = ['img1','img2'] l2 = [[1,4,5],[6,3,1]] for var_name, var_value in zip(l1, l2): globals()[var_name] = var_value
执行完成后就可以直接调用变量:
- 打印
img1输出[1,4,5] - 打印
img2输出[6,3,1]
注意:不推荐随意操作全局命名空间,容易出现变量名冲突、后续代码调试难度升高的问题,优先选择字典方案。
内容的提问来源于stack exchange,提问作者neo
相关产品推荐
相关产品推荐

