我最近创建了一个程序,它会给我一个列表列表:
myList = [[1,2],[3,4],[5,6]]
但是,我不知道这个列表会包含多少个列表,但我确实想将它解压缩成我以后可以操作的唯一变量(不是字典):
list1 = [1,2]
list2 = [3,4]
list3 = [5,6]
我一直试图弄清楚这一点,但我不能。我真的很感激一些帮助。
答案 0 :(得分:5)
您实际上根本不需要解压缩它们:单个列表可以像现在一样被引用为唯一变量!
不要尝试使用新名称将变量引用为list1
,而是使用现有名称:
myList = [[1,2],[3,4],[5,6]]
print (myList[0]) # Prints out the list [1,2]
print (myList[1]) #Prints out the list [3,4]
print (myList[2]) #Prints out the list [5,6]
这种格式有一些优点,例如这个组成列表:
myListOfUnexpectedSize = [[1,3],[5,7],...more lists...,[15,17]]
print(len(myListOfUnexpectedSize)) #Prints out the number of lists you have
for lis in myListOfUnexpectedSize: #This loop will print out all the lists one by one
print(lis)
print(myListOfUnexpectedSize[-1]) #Prints out the last list in the big list
因此,通过使用较大列表的大小,您可以计算出里面有多少列表并使用它们。
答案 1 :(得分:2)
您可能需要的是一个集合,例如用于存放每个列表的列表,然后您可以通过索引引用它。或者,如果您真的想通过特定名称引用它,可以考虑如下字典和一些列表理解
listDict = {"list" + str(key+1) : value for (key, value) in enumerate(myList)}
答案 2 :(得分:0)
如果您有三个以上的子列表,可以试试这个:
myList = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
list1, list2, list3, *rest = myList
print(list1)
print(list2)
print(list3)
其余的将保留其余的子列表,list1,list2,list3是你想要的。