簡體   English   中英

獲取兩個列表之間所有可能的組合,包括多個連接

[英]Get all possible combinations between two lists, including multiple connections

import itertools
l1 = [1,2,3,4]
l2 = [1,2,3,4]

x = itertools.product(l1, l2)
print(list(x))

我得到了列表 l1 和 l2、 [(1,1), (1,2), ... ]等的 16 種可能的單獨組合。有沒有辦法也可以獲得以多種方式“連接”列表的組合? 例如,我可以有以下組合[(1,1), (2,3)] , [(1,3), (2,4), (3,2)][(1,2), (2,4), (3,3), (4, 1)]

任何幫助將不勝感激。

這是你想要達到的目標嗎?

from itertools import permutations
l1 = [1,2,3,4]
l2 = [1,2,3,4]

for i in l1:
    a= permutations(l2,i)
    for m in list(a):
        print(m)

您可以將問題視為將l1球放入l2箱。 有關如何生成所有這些展示位置的信息,請參閱此答案

因為在您的示例中,有些球在任何垃圾箱中都沒有,我們可以通過引入一個我們指定為垃圾箱的額外垃圾箱來處理這個問題(換句話說,最終進入這個垃圾箱的球,將視為缺席)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM