[英]creating multiple lists from a master nested list
我有一个从数据中获取的嵌套列表,这些列表将被分成多个部分以上传到数据库,但必须是单独的条目。
我的嵌套列表:
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 的解决方案正是我所需要的。 现在我只是使用字典来访问我想要的列表。
最简单的方法是使用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']
单线将是:
lists = sum([[[Master_List[0], i, j, Master_List[3]] for i in Master_List[1]] for j in Master_List[2]], [])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.