我想将列表保存到编号变量。
myList =[1,2,3,4,5]
我希望保存是这样的:
numb1 = myList[1]
numb2 = myList[2]
numb3 = myList[3]
numb4 = myList[4]
numb5 = myList[5]
我不想手动操作,因为myList包含许多元素。 你能给我一些建议吗?
答案 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
。