将列表的第k个元素分配给' obj_k'

时间:2015-10-18 18:00:03

标签: python-2.7 variable-assignment

我正在使用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]

这显然在语法上无效。

1 个答案:

答案 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'
相关问题