高性能Python-range和xrange

2016-09-22  本文已影响166人  三千万星辰

我们通常会听说,在for循环中要使用range来代替xrange,xrange更能节省内存,先来看一下这两个的实现:

def range(start, stop, step=1):
    numbers = []
    while start < stop:
        numbers.append(start)
        start += step
    return numbers

def xrange(start, stop, step=1):
    while start < stop:
        yield start
        start += stop
>>> import sys
>>> a = range(100000000)
>>> sys.getsizeof(a)
800000072
>>> 
上一篇下一篇

猜你喜欢

热点阅读