Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从主嵌套列表创建多个列表_Python_Database_Custom Lists - Fatal编程技术网

Python 从主嵌套列表创建多个列表

Python 从主嵌套列表创建多个列表,python,database,custom-lists,Python,Database,Custom Lists,我有一个嵌套列表,我从数据中获得,这些数据将被分成几个部分上传到数据库,但必须是单独的条目 我的嵌套列表: Master_List = [ a, [1,2,3], [1,2], d] 但我需要将其分为六个单独的列表,如下所示: list1 = [a, 1, 1, d] list2 = [a, 1, 2, d] list3 = [a, 2, 1, d] list4 = [a, 2, 2, d] etc. 我试着通过列表的值遍历列表,但我感到困惑,因为不是所有的主列表索引都会有多个值。如何构建

我有一个嵌套列表,我从数据中获得,这些数据将被分成几个部分上传到数据库,但必须是单独的条目

我的嵌套列表:

Master_List = [ a, [1,2,3], [1,2], d]
但我需要将其分为六个单独的列表,如下所示:

list1 = [a, 1, 1, d] 
list2 = [a, 1, 2, d]
list3 = [a, 2, 1, d]
list4 = [a, 2, 2, d]
etc.

我试着通过列表的值遍历列表,但我感到困惑,因为不是所有的主列表索引都会有多个值。如何构建这些单独的列表以供使用

当我尝试遍历列表并创建单独的列表时,它变成了一团混乱

编辑:Coldspeed的解决方案正是我所需要的。现在我只需要使用字典来访问我想要的列表

一个班轮应为:

lists = sum([[[Master_List[0], i, j, Master_List[3]] for i in Master_List[1]] for j in Master_List[2]], [])

最简单的方法是使用
itertools.product

from itertools import product
out = {'list{}'.format(i) : list(l) for i, l in enumerate(product(*Master_List), 1)}

print(out)
{'list1': ['a', 1, 1, 'd'],
 'list2': ['a', 1, 2, 'd'],
 'list3': ['a', 2, 1, 'd'],
 'list4': ['a', 2, 2, 'd'],
 'list5': ['a', 3, 1, 'd'],
 'list6': ['a', 3, 2, 'd']}
不幸的是,如果不使用字典,就无法创建数量可变的变量。如果要访问
listX
,您将访问
out
字典,如下所示:

out['listX']

那么,到目前为止您尝试了什么?我尝试了通过列表的值迭代列表,但我感到困惑,因为不是所有主列表索引都会有多个值。我希望创建多个单独的列表,但现在我可以迭代新的列表“列表”。谢谢。我从未听说过itertools,我查看了文档,解决方案正是按照我的需要工作的,访问列表1的第一个索引的示例现在写为out['list1'][0]。谢谢