最大数量组合

3 python combinations

我正在尝试使用0到9之间的所有数字生成一组四个数字中所有可能数字组合的列表.

我越来越接近,但输出并没有显示从0000一直到9999的所有可能组合.

有关为什么以下代码丢弃某些组合的任何线索?

def permgen(items, n):
  if n==0: yield []
    else:
        for i in range(len(items)):
            for cc in permgen(items[:i]+items[i+1:],n-1):
                yield [items[i]]+cc

if __name__=="__main__":
    for c in permgen(['0','1','2','3','4','5','6','7','8','9'],4): print ''.join(c)

Nad*_*mli 12

如果你有python 2.6,为什么不使用itertools.combinations

from itertools import combinations
combinations(range(10), 4)
Run Code Online (Sandbox Code Playgroud)