0
import itertools
def x(a,b):
    x = [[i] for i in itertools.product(a, repeat=b)]
    return [x]
print (x({0,1},3))

输出是

[[[(0, 0, 0)], [(0, 0, 1)], [(0, 1, 0)], [(0, 1, 1)], [(1, 0, 0)], [(1, 0, 1)], [(1, 1,    0)], [(1, 1, 1)]]]

我想要的是它看起来像这样,所有的 () 都被删除了,开始和结束的 [] 被删除了

[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]]  
4

1 回答 1

0

为什么不简单

return list(itertools.product(a, repeat=b))

或者,如果您希望所有元素都是列表,

return map(list, itertools.product(a, repeat=b))

此外,请小心写入从名为;x的函数中命名的变量。x这会给递归带来麻烦。

于 2013-03-26T07:57:21.320 回答