【问题标题】:Itertools.product raises "Error in argument"Itertools.product 引发“参数错误”
【发布时间】:2016-08-06 16:18:05
【问题描述】:

我有点迷路了:

我不能在我的代码中使用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]))'

我很确定我没有对模块本身做任何奇怪的事情,因为它在我的代码库中(那里没有取消提交的更改):

$ git grep itertools
simple_wbd/climate.py:import itertools

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

In [1]: import itertools

In [2]: list(itertools.product([2,7], [1,4]))
Out[2]: [(2, 1), (2, 4), (7, 1), (7, 4)]

我什至不知道如何调试它。任何帮助都会很好。

谢谢。

【问题讨论】:

    标签: python python-3.x ipython itertools ipdb


    【解决方案1】:

    在这个调试器中,list 是一个命令。要访问您想要的内置名称,请在前面加上感叹号:

    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)]
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 2018-03-21
      • 1970-01-01
      • 2021-09-07
      • 2012-01-07
      • 2021-10-17
      • 2021-12-08
      • 1970-01-01
      相关资源
      最近更新 更多