Python【day 11】迭代器

Python【day 11】迭代器,第1张

概述迭代器-用 1、迭代器的概念 1、可迭代对象-iterable str、list、tuple、dict、set、open()、range() 2、可迭代对象的概念: 其数据类型的执行方法中含有__iter__方法的,就是可迭代对象 li1 = [2,3,4] print(
迭代器-用
1、迭代器的概念
1、可迭代对象-iterable
str、List、tuple、dict、set、open()、range()
2、可迭代对象的概念:
其数据类型的执行方法中含有__iter__方法的,就是可迭代对象
li1 = [2,3,4]
print(‘__iter__‘ in dir(li1)) #True 说明li1-列表是可迭代对象
3、迭代器的概念--iterator
可迭代对象调用__iter__()方法后,生成的对象就是迭代器
例如:it1 = li1.__iter__() #这里的it1就是迭代器
4、迭代器中的方法__next__()
迭代器每调用一次__next__()方法,就取值一个元素,直到取值到最后一个元素后
再次调用__next__()方法,会报错stopiteration

2、迭代器的特点
1、节约内存
2、惰性(只有调用__next__()方法,才会取值一次)
3、只能往前取值,不能后退

3、迭代器的应用
1、for循环的常规写法
for循环的内部原理是通过迭代器实现的
迭代器给所有的可迭代的数据类型提供了一种统一的遍历方式(可迭代协议)
li1 = [2,4]
for i in li1:
print(i)
else:
print(‘循环结束了‘)

2、通过迭代器实现for循环--一步步执行__next__()
li1 = [2,4]
it1 = li1.__iter__() #it1就是生成可迭代对象-列表li1的迭代器-iterator
print(it1.__next__()) #2
print(it1.__next__()) #3
print(it1.__next__()) #4
# print(it1.__next__()) #报错 stopiteration

3、通过迭代器实现for循环--通过while循环
li1 = [2,4]
it1 = li1.__iter__() #it1就是生成可迭代对象-列表li1的迭代器-iterator
while 1:
try:
print(it1.__iter__())
except stopiteration:
print("循环结束了")
break #别忘记,这里是跳出整个while循环
总结

以上是内存溢出为你收集整理的Python【day 11】迭代器全部内容,希望文章能够帮你解决Python【day 11】迭代器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1190765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存