• 迭代器定义的是一个迭代方法,迭代器本身不返回值,但可以通过next()方法逐一迭代调用,但更常见的是用for循环调用
s = 'xyz'
it = iter(s)
it

<str_iterator at 0x1d7f8017a20>

next(it)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

'x'

next(it)

'y'

next(it)

'z'

next(it)

StopIteration

  • 迭代器it生命周期结束,此时it也无法用for来调用
for char in it:
    print(char)
  • 需要重新对it赋值
it = iter(s)
for char in it:
    print(char)

x
y
z

  • 或者直接用iter(s)作为迭代器
for char in iter(s):
    print(char)

x
y
z

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄