Python 2.7 将列表的第k个元素分配给';obj#k';
我正在使用Python 2.7。给定一个n个对象的列表,我想将变量'obj_k'分配给列表的第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] 这在语法上显然是无效的。我不确定动态创建变量是否是一个好主意,但
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]:“汽车”
谢谢。我也认为这通常不是一个好主意,但我仍然不知道它将如何工作。