迭代器
Posted liuhongshuai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器相关的知识,希望对你有一定的参考价值。
#可迭代 含有__iter__方法
#迭代器 含有__iter__和__next__方法
# Iterable可迭代的
#Iterator迭代器
#查看对象的方法
#查看对象的方法 # print(dir([])) #Flase # print(‘__iter__‘ in dir(bool)) # print(‘__iter__‘ in dir(int)) #True # print(‘__iter__‘ in dir(str)) # print(‘__iter__‘ in dir(list)) # print(‘__iter__‘ in dir(tuple)) # print(‘__iter__‘ in dir(dict)) # print(‘__iter__‘ in dir(set)) # print(‘__iter__‘ in dir(range)) # print(‘__iter__‘ in dir(enumerate)) # print(‘__iter__‘ in dir(open(‘a.txt‘)))
#判断是否可迭代 是否为迭代器
#判断是否可迭代 是否为迭代器 # from collections import Iterable # from collections import Iterator # print(isinstance([],Iterable))#True # print(isinstance([],Iterator))#False # print(isinstance([].__iter__(),Iterator))#True
#可迭代对象.__iter__()得到一个迭代器
#可迭代对象可以被for循环
#可迭代对象可以被for循环 # l=[1,2,3,4] # for i in l: # print(i) # for i in range(10): # print(i)
#__next__()方法逐个取值
#__next__()方法逐个取值 l=[1,2,3,4] l_iter=l.__iter__() print(l_iter)#得到的是内存地址 print(l_iter.__next__()) print(l_iter.__next__()) print(l_iter.__next__()) print(l_iter.__next__()) print(l_iter.__next__())#StopIteration
#迭代器的好处
#节省内存空间
#可逐个取值 每个值只能取一次
以上是关于迭代器的主要内容,如果未能解决你的问题,请参考以下文章