保存编号变量

时间:2015-12-15 03:33:11

标签: python list

我想将列表保存到编号变量。

myList =[1,2,3,4,5]

我希望保存是这样的:

numb1 = myList[1]
numb2 = myList[2]
numb3 = myList[3]
numb4 = myList[4]
numb5 = myList[5]

我不想手动操作,因为myList包含许多元素。 你能给我一些建议吗?

2 个答案:

答案 0 :(得分:2)

您只需通过enumerate()

执行此操作即可
>>> myList =[1,2,3,4,5,6,7,8,9,10]
>>> for index, value in enumerate(myList, start=1):
...     globals()['numb'+str(index)] = value
...     
... 
>>> numb1
1
>>> numb2
2
>>> numb3
3
>>> numb10
10
>>> 

但我建议使用其他字典而不是globals()

>>> myList =[1,2,3,4,5,6,7,8,9,10]
>>> d = {}
>>> for index, value in enumerate(myList, start=1):
...     d['numb'+str(index)] = value
...     
... 
>>> d['numb1']
1
>>> d['numb2']
2
>>> d['numb10']
10
>>> 

答案 1 :(得分:1)

这是XY Problem,其中问题X(即,引用list中的元素)比问题Y容易得多(即,创建一系列与{中的元素对应的编号变量) {1}})。最重要的是,这样做会破坏使用list的整个目的。对你所展示的五个元素进行硬编码并不需要太长时间,但你提到的带有“很多元素”的list应该给予这种处理。

A list拥有多个物体,通常是同类型和目的,如一年中每天的降雨量。这种数据结构使得将所有这些对象一起存储和处理变得容易。您也可以通过索引单独引用它们。

如果您希望将list的第一个元素称为myList,请改用numb1。这是您已经拥有该对象的引用。您需要使用一堆带编号的引用来污染命名空间。 myList[0]类型正是针对这种情况。请使用list