NameError:名前 'xrange' が定義されていません。
NameError:名前 'xrange' が定義されていません。
機械学習のK-meanクラスタリングアルゴリズムの他人のPython実装のソースコードを参照しながら、実行したところ、以下のエラーが発生しました。
Pythonのバージョンがpython 3.4で、xrange( )関数がpython 2.xの関数であるためです。 Python 3では、range( )はxrange( )関数と同様に実装されているので、特にxrange( )の問題はないようです。
- はじめに: Python 3 でプログラムを実行したい場合、すべての xrange( ) 関数を range( ) に置き換えるだけです。
- 2つ目:この問題のあるプログラムをpython 2.xに置いて実行するだけでよい
ここで、xrange( )の概要を説明します。
Python 2.x では、xrange() は反復可能なオブジェクトを作成するためによく使われます。通常は "for loop" または "list/set/dictionary derivation" の中で使われます。
この動作はジェネレータ(例:"inert valuation")に非常に似ていますが、ここでは xrange-iterable は無限であり、xrange を無限に反復することが可能であることを意味します。
xrange の "inertia" 特性のため、(例えば for ループで) 一度だけ反復する必要がある場合、通常 range() は xrange() よりも高速になります。しかし、range() は毎回メモリ上にリストを再生成するので、複数回の反復処理に使用することはお勧めしません。
Python 3 では range() は xrange() 関数と同じように実装されているので、専用の xrange() はありません (Python 3 で xrange() を使用すると NameError が発生します)。
python 2.x における xrange() と range() 関数の類似点と相違点については、以下を参照してください。 こちら
関連
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】単項のオペランド型が悪い +:'str'
-
[解決済み】Pythonを使用したSelenium - Geckodriverの実行ファイルがPATHにある必要があります。
-
[解決済み] pandasでcsvファイルを読み込む際のエラー[CParserError.Reading a csv file in pandas]。データのトークン化に失敗しました。Cエラーです。バッファオーバーフローが検出されました - 不正な入力ファイルの可能性があります] 。
-
[解決済み] Virtualenv OSError - setuptools pip wheel failed with error code 1
-
[解決済み] Pycharmです。「インデックスへのファイルのスキャンに時間がかかる
-
[解決済み] scikit-learnのcross_val_predictの精度スコアはどのように計算されるのですか?
-
[解決済み] AttributeError: 'tuple' オブジェクトには 'shape' という属性がありません。
-
[解決済み] ダグランを埋め戻す際の気流を防ぐには?
-
[解決済み] E: パッケージ 'python-pip' にはインストール候補がありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
Python jiabaライブラリの使用方法について説明
-
[解決済み】TypeError:'type'オブジェクトはiterableではありません - オブジェクトインスタンスを繰り返し処理する。
-
[解決済み】ValueError: 新しい配列の合計サイズは変更されない必要があります。
-
[解決済み】pyplot for ndarrayを使用してダブルバー、バープロットをプロットすることができない。
-
[解決済み] TensorFlow:変数の初期化で「初期化されていない値を使おうとしています。
-
[解決済み] リピート機能 python
-
[解決済み] Selenium Python - そのような要素がない例外の処理
-
[解決済み] virtualenvの問題 - 起動できない
-
Python3 は、No module named ... に遭遇しました。