TypeError:“ zip”对象在Python 3.x中不可调用


问题内容

我正在尝试在Python
3.5中压缩2个简单列表,但无法弄清楚如何访问其内容。我已经读过了,它zip()是一个生成器,list(zip())如果要存储内容,我必须打电话。但是,这样做时出现错误。

例如:

row = [1, 2, 3]
col = ['A', 'B', 'C']
z = zip(row, col)

当我叫“ z”时,我看到以下内容:

>>> z
<zip object at 0x0283C8F0>

但是当我致电时list(z),出现以下错误:

>>> list(z)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'zip' object is not callable

尝试将列表分配给变量时,也会出现相同的错误,例如:

l = list(zip(row, col))

抱歉,如果已经回答了这个问题,但是我终生无法通过搜索找到解决方案。任何想法将不胜感激!


问题答案:

当您重新定义这种情况发生listzip()(这可能是你没有,但并没有告诉我们):

>>> list = zip()

现在list是一个zip对象(不是zip类)

>>> list(z)

现在您正在尝试调用一个zip对象

Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
TypeError: 'zip' object is not callable
>>>

只是

del list

(或从新的口译员开始)

一切恢复正常