>>> 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'
答案 0 :(得分:14)
在Python 3中,izip
模块中没有itertools
函数,因为内置zip
函数(不需要任何导入来访问)现在表现得像{{1在Python 2中做过。所以,为了使你的代码有效,只需使用itertools.izip
而不是zip
。
您还提到了itertools.izip
的问题。这是另一个不再存在于Python 3模块中的函数。它现在是string.maketrans
类的一种方法:str
。但请注意,它的行为与Python 2中的str.maketrans
略有不同,因为字符串上的string.maketrans
方法采用不同的参数(字典而不是256个字符的字符串)。
听起来您可能正在遵循为Python 2编写的指南,但使用Python 3来运行您的代码。这可能令人困惑,因为该语言的主要版本之间存在显着的变化。您应该尝试找到针对Python 3的指南。我不建议您使用Python 2进行编码,除非您真的必须遵循当前的指南。