【问题标题】:Calculate permutations of elements from two (or more!) lists pythonically [duplicate]以python方式计算两个(或更多!)列表中元素的排列[重复]
【发布时间】:2019-03-25 18:54:22
【问题描述】:

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

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

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

感谢您提供的所有帮助!

【问题讨论】:

  • itertools.product ?
  • 您实际上并不是在寻找排列,而是在寻找两个列表的叉积。为此,您需要itertools.product

标签: python python-3.6 permutation


【解决方案1】:

您的代码确实有一个 itertools 等效项:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2023-03-11
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多