首页 > 其他 > 详细

菜鸡眼中的迭代器

时间:2019-04-05 14:49:21      阅读:108      评论:0      收藏:0      [点我收藏+]
‘‘‘
迭代器
‘‘‘
#迭代:依次从数据结构取值
‘‘‘
for循环的迭代过程:
for 迭代对象 in 可迭代对象.
‘‘‘
#使用for循环迭代
li = [1,2,3,4,5,6,7,8]
for i in li:
    print(i)

#使用while循环迭代
li = [1,2,3,4,5,6,7,8]
index = 0
while index < len(li):
    print(li[index])
    index +=1

#生成迭代器的方法:
‘‘‘
1:iterator = iter(li) 使用iter方法
2:iterator = li._iter_() 使用_iter_魔法方法

‘‘‘
a = iter([1,2,3,4,5,6])#使用iter方法或者 a = li.__iter__() #使用魔法方法
# print(a) #<list_iterator object at 0x0000022C596F3320>列表的迭代器对象
# for i in a:
#     print(i)
#迭代器和可迭代对象有何区别?迭代器中有next方法,而可迭代对象中没有next方法,具体用dir方法查询即可。
print(next(a)) #或者print(a.__next__())。
print(next(a))

#--------------自定义迭代器---重写iter方法即可-----------------------------------
class Mylist:
    def __iter__(self):
        return iter([1,2,3,4,5,6]) #返回的必须是一个迭代器

a = Mylist() #实例化时已经是可迭代对象

for i in a: #迭代实例对象时,触发魔法方法
    print(i)

 

菜鸡眼中的迭代器

原文:https://www.cnblogs.com/jb9527/p/10658595.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!