栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

迭代器与生成器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

迭代器与生成器

1.关于迭代器

迭代器用于迭代操作的对象,在其内部实现了__iter__,和__next__。可以像列表一样可以通过for进行迭代,但列表内部实现了__iter__而没有实现__next__,任何实现了__iter__的都可以称之为可迭代对象,内部实现了__next__的可以称之为迭代器。迭代器一定是可迭代对象,但可迭代对象不一定是迭代器。
列表,字符串元组等都是可迭代对象。

list1 = [1,2,3]
print("__iter__" in dir(list1))      #True
string1 = "dhsdhsa"
print("__iter__" in dir(string1))      #True
2.迭代器示例 2.1可迭代对象执行__iter__()方法得到的是一个迭代器
list1 = [1,2,3]
print(list1.__iter__())
string1 = "dhsdhsa"
print(string1.__iter__())
dict1 = {"a": 1, "b": 2}
print(dict1.__iter__())

输出结果如下:




dict1 = {"a": 1, "b": 2}
res = dict1.__iter__()
print(res.__next__())
print(res.__next__())
print(res.__next__())

输出结果如下:

a
b
Traceback (most recent call last):
  File "D:/MyClass/python_basic_practice/iterable.py", line 11, in 
    print(res.__next__())
StopIteration

当获取迭代器中的结果时,调用__next__()方法,每次基于上次的结果进行输出,直到迭代器中没有元素抛出stopiteration的异常。

2.2获取迭代器中元素的几种方法
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号