【问题标题】:All possible combination of lists for a given list给定列表的所有可能的列表组合
【发布时间】:2019-12-03 04:02:56
【问题描述】:

我想要给定大小的列表的所有可能组合。 例如,我有一个给定的列表 K,例如 K = [3, 5, 2]。使用以下代码,我得到了我想要的。但是,我如何将它推广到给定大小的任何列表,而不仅仅是添加 for 循环?

assignment= []
for l in range(K[0]):
    for m in range(K[1]):
        for n in range(K[2]):
            a = [l,m,n]
            assignment.append(a)

【问题讨论】:

标签: python python-3.x


【解决方案1】:

itertools 库通常可以帮助解决此类问题。尤其是itertools.product(),使用* 向其传递范围列表或迭代器:

list(itertools.product(*(range(n) for n in K))

list(itertools.product(*map(range, K)))

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多