17 python 初学(迭代器)

Posted mlllily

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17 python 初学(迭代器)相关的知识,希望对你有一定的参考价值。

生成器都是迭代器,迭代器不一定是生成器

迭代器满足两个条件: 1. iter方法 2. next方法

# list, tuple, dict, string: iterable(他们都有iter方法,所以都是可迭代对象)
# 调用 iter 方法返回的 d 就是一个迭代器
# l = [1, 2, 3, 4, 5]
l = {\'name\': \'lily\', \'age\': 18}
d = iter(l)  # 通过 iter 直接返回一个可迭代对象
print(d)   # <list_iterator object at 0x0000001EA3547518>

print(next(d))   # name
print(next(d))   #age
View Code

 

for i in [1, 2, 3, 4]

for 循环内部完成三件事:

    1. 调用可迭代对象的 iter 方法返回一个迭代器对象  

    2. 不断调用迭代器的 next 方法  

    3. 处理 StopIteration

 

更多参考:http://www.cnblogs.com/yuanchenqi/articles/5769491.html

以上是关于17 python 初学(迭代器)的主要内容,如果未能解决你的问题,请参考以下文章

初学者python笔记(迭代器生成器三元表达式列表解析send()与yield())

初学Python——列表生成式生成器和迭代器

初学python随笔——列表生成器生成器和迭代器

1.17 Python基础知识 - 迭代器和生成器初识

Python初学者的17个技巧

Python初学者的17个技巧