Screaming Loud

日々是精進

set型とlist型のイテレーション速度

set型とlist型のイテレーションによるスピードの違いを調べてみた.

setiter = set(range(100000000))
listiter = list(setiter)

test = ""
import time

#set型のかかった時間
start = time.clock()
for a in setiter:
    test = a
print time.clock() - start

#list型のかかった時間
start = time.clock()
for a in listiter:
    test = a
print time.clock() - start

コードはこんな感じ.数字が順番にならないように先にset型を作ってからlist型を作った.
単純に挿入によるイテレーションだが,結果は

time python iteration_speed.py
7.91
7.47
python itereation_speed.py  26.53s user 4.62s system 97% cpu 31.793 total

と,set型の方が遅い.
単純なイテレーションにはlist型を使いましょう.

参考: