[英]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.