说我有一个清单 my_list = ['a','b','c'] 我有一套价值观 my_values = [1,2,3]
有没有办法迭代我的列表并将my_list的值设置为等于my_values
for i in range(len(my_list)):
## an operation that instantiates my_list[i] as the variable a = my_values[i]
...
>>> print a
1
我只是想这样做而不将保存程序的文件文本复制到新文件中,将新行插入到需要进入程序的字符串中。如果可能的话,我想跳过创建,重命名,销毁,文件操作,因为我正在处理大量的东西。
答案 0 :(得分:2)
这可能是你不应该做的事,但由于globals()dict中包含了所有全局变量,你可以将它们添加到模块的全局字典中:
>>> my_list = ['a','b','c']
>>> my_values = [1,2,3]
>>> for k, v in zip(my_list, my_values):
... globals()[k] = v
...
>>> a
1
>>> b
2
>>> c
3
但请注意,最好不要将命名空间与变量值混合使用。我没有看到任何好消息。
我建议使用普通的dict来存储你的值,而不是将它们加载到全局或本地命名空间。