Python迭代

示例

生成器对象支持迭代器协议。也就是说,它提供了一个next()方法(__next__()在Python 3.x中),用于逐步执行该__iter__方法,并且该方法返回自身。这意味着可以在支持通用可迭代对象的任何语言构造中使用生成器。

# Python2.xxrange()的幼稚部分实现
def xrange(n):
    i = 0
    while i < n:
        yield i
        i += 1

# 循环播放
for i in xrange(10):
    print(i)  # 打印值0、1,...,9

# 开箱
a, b, c = xrange(3)  # 0、1、2

# 建立清单
l = list(xrange(10))  # [0,1,...,9]