我收到一个带有函数返回的TypeError“zip参数#2必须支持迭代”。返回结果是一个列表,例如[1.20,2.51,6.89]我将其与预期结果列表[1.2,2.5,6.9]进行比较。如果差异足够小,我会通过。这是一段代码:
def calc():
last = [1.20, 2.51, 6.89]
return last
pass
def check():
result = calc()
expected_result = [1.2, 2.5, 6.9]
for res, exp_res in zip(expected_result, result): # line of TypeError: zip argument #2 must support iteration
assert abs(exp_res - res) < 1e-1 # modified from 1e-2
check()
我测试的内容: 1)当我在上面的2个独立函数中运行时,我收到此TypeError:1个要计算的函数,以及1个用assert测试的函数 2)通过在同一个函数中编写这两个列表,然后我调用,然后这工作正常(=没有错误消息)。 但是,..我必须分开2个功能。 任何想法或建议将非常感激。 谢谢!
答案 0 :(得分:0)
在下一步中,我测试是否可以迭代返回,因为此TypeError提到不支持此返回。我找到了函数calc()返回的一些测试。这是一个例子:
object_iterator = iter(last)
print object_iterator # output: True
它打印True,因此指定可以迭代返回。其他测试证实了这一点。
有人对下一步解决此TypeError有任何建议吗?