页面

2012年4月9日星期一

关于Python for循环的一点小贴士

看到 @pycoders 上的一个文章Counting, without counting, in Python: Brandon Rhodes

其实简单一点想,任何时候都用xrange就对了。不要太钻牛角尖的话。

学到了一个简单的测试某段代码运行时间的方法:最后的结果,代表的意思应该是运行了100次,最好的3次平均时间。一开始我还一头雾水,这个for循环不是1000000次的么,怎么只有100次,然后给我3次最好的啥意思啊。后来猜测了一下,然后看了下文档验证了我的猜测。同时,1 ms = 1000 us = 1000,000 ns,具体可以看wiki

$ python -m timeit \
> -s 'from itertools import repeat' \
> 'for x in repeat(None, 1000000): pass'

100 loops, best of 3: 16.8 msec per loop