如何在循环中从字符串列表中创建列表,使每个字符串成为我现在可以在Python中访问的单独的唯一列表

2024-10-03 17:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从循环中的值的起始列表生成25个唯一列表,如何将字符串列表元素转换为列表,这样我就可以增加每个循环并保存新列表,这样最终我就有25个单独的列表,名为list1,list2…list25,我可以访问这些列表以供进一步使用

在我的循环中,我编写了stringList[count],我需要从string list创建一个列表,我知道它是不正确的,我只是把它放在那里,这样就很容易理解我要找的地方和内容。例如,它应该在第一个循环中创建list1并将currentList值复制到它,然后是list2,依此类推

stringList = ['list1','list2','list3','list4','list5','list6','list7','list8','list9',
'list10','list11','list12','list13','list14','list15','list16','list17','list18','list19',
'list20','list21','list22','list23','list24','list25']

startingList = [0,1,0,1,0,1]
currentList = []
currentList2 = []
count = 0
for x in range(5):
  if x == 0:
    currentList = list(startingList)
  #code that modifies currentList into a new unique list
  stringList[count] = list(currentList)
  count += 1
  for y in range(5):
    if y == 0:
      currentList2 = list(currentList)
    #code that modifies currentlist2 into a new unique list

    stringList[count] = list(currentList2)
    count += 1

编辑:你喜欢这个作品吗?没关系,这行不通。我需要将stringList的字符串元素一次转换为列表1,而不是一次转换为全部

S = "".join([n +'= [];' for n in stringList])
exec(S)

Tags: 字符串in元素列表forcountrangelist
1条回答
网友
1楼 · 发布于 2024-10-03 17:21:37

如果你真的需要,你可以用exec来做,但一般来说没那么有用。我建议你把所有的单子都存到字典里。下面是一个简单的例子(让我们集中精力存储列表,您可以找出其余的;顺便说一句,问题中的代码没有运行-两个循环中都有count += 1,这会产生index out of range错误)。在本例中,我们将创建5个列表,在其中保存索引三次

执行官:

>>>for ind in range(5):
>>>    exec("list{} = [{}]*3".format(ind, ind))

#we created the name as a string but now we have to access it as a variable
#it's a bit clumsy
>>>list2 
Out[2]: [2, 2, 2]

字典-阅读更多here

>>>lists = {}
>>>for ind in range(5):
>>>    lists["list{}".format(ind)] = [ind] * 3

#arguably neater
>>>lists["list2"]
Out[6]: [2, 2, 2]

相关问题 更多 >