我的IDLE无法将itertools.izip()识别为函数

2024-04-28 05:47:18 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> itertools.izip('ABCD', 'xy')
Traceback (most recent call last):
  File "<pyshell#55>", line 1, in <module>
    itertools.izip('ABCD', 'xy')
AttributeError: 'module' object has no attribute 'izip'

Tags: inmostlinecallfilelastattributeerrormodule
1条回答
网友
1楼 · 发布于 2024-04-28 05:47:18

在Python 3中,itertools模块中没有izip函数,因为内置的zip函数(不需要任何导入来访问)现在的行为与Python 2中的itertools.izip类似。所以,要使代码工作,只需使用zip,而不是itertools.izip

您还提到了string.maketrans的一个问题。这是Python 3中不再在模块中的另一个函数。它现在是str类的一个方法:str.maketrans。但是请注意,它的行为与Python 2中的string.maketrans有点不同,因为字符串上的translate方法采用不同的参数(字典而不是256个字符串)。

听起来您可能正在遵循为Python2编写的指南,但使用Python3运行代码。这可能会让人困惑,因为语言的主要版本之间有重大的变化。您应该尝试找到一个针对Python 3的指南。我不建议使用Python2进行编码,除非您真的必须遵循当前的指南。

相关问题 更多 >