Python 2.7 将列表的第k个元素分配给';obj#k';

Python 2.7 将列表的第k个元素分配给';obj#k';,python-2.7,variable-assignment,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] 这在语法上显然是无效的。我不确定动态创建变量是否是一个好主意,但

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

这在语法上显然是无效的。

我不确定动态创建变量是否是一个好主意,但这里是您想要的。如果我是你,我可能会使用字典来存储变量,以避免污染名称空间

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'
[1]中的
:mylist=[1,'car',10]
在[2]中:打印对象1
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
---->1打印对象1
名称错误:未定义名称“obj_1”
在[3]中:对于枚举中的i,c(mylist):
…:globals()['obj_'+str(i)]=c
...:     
In[4]:obj_1
外出[4]:“汽车”

谢谢。我也认为这通常不是一个好主意,但我仍然不知道它将如何工作。