1

我尝试使用 itertools.permutations 生成排列,但我对如何为 n 位数执行此操作感到非常困惑。

4

2 回答 2

5

我会itertools.product改用:

In [26]: for i in itertools.product(['4', '7'], repeat=2):
   ....:     print int(''.join(i))
   ....:
44
47
74
77

repeat论据是你的n.

于 2013-05-26T08:32:08.703 回答
1

我会使用二进制,如果你需要所有 2 位数字,只有7,4作为数字:

base-2 中的最大 2 位数字是11bie 3,所以:

0 => 00b
1 => 01b
2 => 10b
3 => 11b

然后用041任意7)替换,给出:44, 47, 74, 77

于 2013-05-26T08:38:15.093 回答