我收到此错误?我不知道它是什么以及它为什么会来。
这是我的代码:
def product(*args, **kwds):
# product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
答案 0 :(得分:4)
这不是错误。相反,它是product
创建的生成器对象的对象ID。
如果您希望将结果作为列表,请将函数调用放在list
:
def product(*args, **kwds):
# product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
###############################
myproduct = list(product(...))
###############################
print (myproduct)
以下是基本演示:
>>> def func():
... for i in range(10):
... yield i
...
>>> func()
<generator object func at 0x01ADA210>
>>> list(func())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>