码迷,mamicode.com
首页 > 编程语言 > 详细

python-迭代器

时间:2019-07-18 19:54:11      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:循环   list   ons   放大   返回   int   object   code   span   

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

l = [1,2,3,4]
#生成器都是迭代器,迭代器不一定都是生成器
#list,tuple,dict,string:Iterable(可迭代对象)
from collections import Iterator,Iterable
l = [1,2,3,4]
d = iter(l) #l.__iter__()
print(d) #<list_iterator object at 0x00000265A84C65C0>

# 什么是迭代器?
# 1、有iter方法 2、有next方法

#for循环内部三件事
#1、调用可迭代对象的iter放大返回一个迭代器对象
#2、不断调用迭代器对象的next方法
#3、处理StopIterable

print(isinstance([1,2],list))
l = [1,2,3,4]
d = iter(l) #l.__iter__()
print(d) #<list_iterator object at 0x00000265A84C65C0>
print(isinstance(1,Iterator))
print(isinstance(1,Iterable))

python-迭代器

标签:循环   list   ons   放大   返回   int   object   code   span   

原文地址:https://www.cnblogs.com/zi-Chuan/p/11209388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!