所有可能的组合和排列以及在python上的重复

问题描述 投票:0回答:1

基本上,我想做

def get_all_possible(N)
    for i0 in range(N) :
        for i1 in range(N) :
            for i2 in range(N) :
             ... for iN_1 in range(N) :
                     yield [i0,i1,i2,i3]

并列出每个索引处数字0-N的所有可能组合及其排列的列表。因此,当N=4时,应该有4^4个可能的组合要输出。此嵌套的for循环效率不高,并且代码不容易扩展到一般N的情况。

python for-loop nested combinations permutation
1个回答
0
投票

尝试itertools.permutationsitertools.combinations


0
投票

有助于提高可读性的解决方案是

from itertools import product
all_combs = list(itertools.product(range(4), repeat=4))
© www.soinside.com 2019 - 2024. All rights reserved.