【发布时间】:2016-04-03 00:43:47
【问题描述】:
我想创建所有可能的二进制向量列表直到指定长度,有没有更好的“pythonic”方法来做到这一点?
1
0
11
10
01
00
111
110
101
100
011
010
001
000
[...]
我使用了递增大小的递归函数:
def createAllBinHelper(length):
def createAllBin(thelist, length):
if length == 0:
allpossibilities.append(thelist)
else:
createAllBin(thelist+'1', length-1)
createAllBin(thelist+'0', length-1)
allpossibilities = []
for i in range(1,length):
createAllBin('', i)
return allpossibilities
【问题讨论】:
-
@MarkTolonen 我想你的意思是
itertools.product -
你的意思是用二进制计数?
for i in range(n): print(bin(i)[2:]) -
@msw 唯一需要注意的是示例输出的顺序不正确(1、0、3、2、1、0...),这可能无关紧要。
标签: python list combinations permutation