pythonで重複の無いリスト

例えばテキストデータを舐めて単語の種類数を求めたいときとか、重複の無いリストが必要になる。
今まで、何も考えずに以下のように書いてた。

良くない例

setを使う

ぶっちゃけsetを使った方がコードが短かくて済む。そして速い。
ただし、リストと違って順序は保存されないので注意。

しかし、この書き方をするなら一度aにすべての要素を突っ込まないと行けない。
最初にあげた単語を舐める例だと、テキストデータに出現しうるすべての単語を、一度aに突っ込まないといけない。
メモリ的にしんどい時は以下のように書くのが良い。
遅くなるけどリストに比べたらまだ速い。

速度比較

比較用コード

0から9までの整数をランダムに100万生成して、重複の無いリストを求める。

ただ要素の種類を取り出したいだけならset使おう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です