web-dev-qa-db-ja.com

IDLEがitertools.izip()を関数として認識しません

>>> 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'
10

Python 3では、組み込みのizip関数(インポートを必要としない)のため、itertoolsモジュールにはZip関数はありません。アクセスするには)itertools.izipがPython 2で行ったように動作するようになりました。したがって、コードを機能させるには、itertools.izipの代わりにZipを使用します。

string.maketransの問題についても言及されました。これは、Python 3のモジュールにはもう含まれていない別の関数です。これはstrクラスのメソッドになりました:str.maketrans。ただし、その動作は文字列のtranslateメソッドは異なる引数(256文字の文字列ではなく辞書)を使用するため、Python 2のstring.maketransとは少し異なります。

Python 2用に作成されたガイドに従っているようですが、Python 3を使用してコードを実行します。重要なものがあったため、混乱する可能性があります。言語のメジャーバージョン間での変更。代わりにPython 3を対象とするガイドを探す必要があります。Python 2を使用することはお勧めしません。現在のガイドに本当に従わなければならない場合を除いて、コーディング。

25
Blckknght