我正在使用Python 2.7。给定n个对象的列表,我想分配变量' obj_k'到列表的第k个元素。
例如给出列表
mylist = [1,'car', 10]
我正在寻找一种方法为我做以下事情
obj_0 = 1
obj_1 = 'car'
obj_2 = 10
这看起来很基本,但我不知道该怎么做。在道德上我正在思考一些类似
的内容for i in range(len(mylist)): obj_i = mylist[i]
这显然在语法上无效。
答案 0 :(得分:1)
我不确定动态创建变量是不是一个好主意,但这是你想要的。如果我是你,我可能会使用字典来存储变量,以避免污染命名空间。
In [1]: mylist = [1,'car', 10]
In [2]: print obj_1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-2f857dd36a40> in <module>()
----> 1 print obj_1
NameError: name 'obj_1' is not defined
In [3]: for i,c in enumerate(mylist):
...: globals()['obj_'+str(i)] = c
...:
In [4]: obj_1
Out[4]: 'car'