[英]All the combination of two list of lists
我有一个 Python 问题。 我有两个列表列表如下:
list_1 = [["A1","A2"],["B1","B2"],["C1","C2"]]
list_2 = [["A3","A4"],["B3","B4"],["C3"]]
我正在寻找这两个列表的所有可能组合,其中每个列表中只有一个元素。 此外,如果组合只有一个“C”,则它应该来自 list_1(具有两个“C”的列表)。 例如:
output:
[["A1","A3"],["B1","B3"],["C1","C3"]]
[["A2","A3"],["B1","B3"],["C2","C3"]]
[["A1","A4"],["B2","B3"],["C2"]]
这可以用基本的 Python 库来完成吗?
编辑
这是我迄今为止最好的尝试:
combi = []
for i in range(len(list_1)):
for j in range(len(list_1[i])):
for k in range(len(list_2[i])):
combi.extend([list_1[i][j],list_2[i][k]])
然而,这并没有让我得到我所希望的。
不确定我是否真的理解您的要求。 如我的帖子所示,部分 output 不一致或丢失。 因此,我试图guess
您想从每个列表(一次一个)中进行组合,正如您的标题描述所述。
如果在理解上存在差距,您可以修改示例以满足您的需要。 (这应该非常接近......虽然)
from itertools import product
list_1 = [["A1","A2"],["B1","B2"]] #,["C1","C2"]] # for simple test, reduce C-lst
list_2 = [["A3","A4"],["B3","B4"]] #,["C3"]]
combs = [] # set()
for one in list_1:
for two in list_2:
for p in product(one, two):
#print(p) # can comment out
combs.append(list(p))
print(combs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.