Itertools.product提出"参数错误"

zid*_*sk8 1 python ipython python-itertools python-3.x ipdb

我有点迷失在这里:

我不能itertools.product在我的代码中使用.这是unittest setUp方法的一个突破点:

ipdb> import itertools
ipdb> itertools
<module 'itertools' (built-in)>
ipdb> itertools.product
<class 'itertools.product'>
ipdb> list(itertools.product([2,7], [1,4]))
*** Error in argument: '(itertools.product([2,7], [1,4]))'
Run Code Online (Sandbox Code Playgroud)

我很确定我没有对模块本身做任何奇怪的事情,因为这是在我的代码库中(没有非公开的更改):

$ git grep itertools
simple_wbd/climate.py:import itertools
Run Code Online (Sandbox Code Playgroud)

如果我在Ipython解释器中尝试这个,它工作正常.

In [1]: import itertools

In [2]: list(itertools.product([2,7], [1,4]))
Out[2]: [(2, 1), (2, 4), (7, 1), (7, 4)]
Run Code Online (Sandbox Code Playgroud)

我甚至不知道如何调试这个.你能帮忙的话,我会很高兴.

谢谢.

wim*_*wim 8

在这个调试器中,list是一个命令.要访问您想要的内置名称,请在前面添加一个exclam:

ipdb> list(itertools.product([2,7], [1,4])
*** Error in argument: '(itertools.product([2,7], [1,4])'
ipdb> !list(itertools.product([2,7], [1,4]))
[(2, 1), (2, 4), (7, 1), (7, 4)]
Run Code Online (Sandbox Code Playgroud)

这不应该是代码本身的问题,只能在调试器中.