Это интересно; list()
, чтобы заставить итератор получить фактический список, намного быстрее, чем [x for x in someList]
(понимание).
Является ли это реальным или мой тест слишком прост? Ниже приведен код:
import time
timer = time.clock()
for i in xrange(90):
#localList = [x for x in xrange(1000000)] #Very slow, took me 6.8s
localList = list(xrange(1000000)) #Very fast, took me 0.9s
print localList[999999] #make sure list is really evaluated.
print "Total time: ", time.clock() - timer