用Python计算两个(或更多!)列表中元素的排列

时间:2019-03-25 18:54:22

标签: python python-3.6 permutation

我已经为此苦苦挣扎了一段时间,所以我认为是时候寻求帮助了。我有两个列表L1,L2,每个列表都有一定数量的元素长(不一定是相同的长度)。计算所有可能的排列,然后打印结果的最有效(和pythonic)方法是什么?最简单的方法是做

for l1 in L1:
    for l2 in L2:
        print(l1, l2)

但是对于我来说,这在计算时间或编码上似乎都不是很有效。另外,如果我的列表数量增加,此表达式将变得非常笨拙。 “ itertools”模块似乎并未涵盖这种排列方式

感谢您提供的所有帮助!

1 个答案:

答案 0 :(得分:3)

您的代码确实具有等效的itertools

for l1, l2 in itertools.product(L1, L2):
    print(l1, l2)