機械音痴な情報系

エラーの解決方法とTips

Pythonのxrange(3系からは撤廃)とシーケンス型

xrangeとは

Youtubeを徘徊しているとすごく面白そうなものが…!
帰ったら真似してみよう。
機械学習で日本酒をクラスタリング Part1 スクレイピング編


途中、forループでxrangeというものをみたけどrangeと何が違うのか。
Pythonで使うrangeとxrangeについて - のんびりしているエンジニアの日記

上のブログによると

rangeより早い
rangeはリスト型、xrangeは不透明なシーケンス型


って感じっぽい。

シーケンス型とは

不透明の部分は置いておいて、シーケンス型って何ってことで調べた。
シーケンス型 - Python学習講座

上のブログによると

・配列やリストみたいな順番に処理するデータ構造の一つ
・文字列、リスト、タプル、range型の4つある


range型の説明を見ると「イミュータブルなシーケンスを作成するオブジェクト」
わからなくなってきた。

xrange、3系からは撤廃

他のサイトも見てみようと思って調べてみたらどうやら3系からはxrangeが無くなったらしい。

そしてxrangeはその都度必要な値を生成するから要素数が大きいと効率良いよってことでまとめられてる。
そして3系からはrangeがxrangeに近い実装になった為無くなった、と。
rangeとxrange | Python-izm




なんだ。2系使ってないし気にすることでもなかったのか。