迭代器和生成器

1、迭代器

定义:就是可以使用for_in进行遍历,并且可以使用next依次获取元素对象
#判断是否是迭代器
from  collections import Iterator
l = (i for i in range(10))
#判断是不是迭代器(是迭代器)
print(isinstance(l,Iterator))
#不是迭代器,字符串,列表,元组,集合,字典都不是迭代器,他们都是可迭代对象
lt = [1,2,3,5]
print(isinstance(lt,Iterator))
#可迭代对象
#定义;可以使用for—in遍历的对象,都称为可迭代对象
#如何判断是否是可迭代对象
from  collections import Iterable
print(isinstance(l,Iterable))
print(isinstance(lt,Iterable))
#iter函数:作用:将可迭代对象转换为迭代器
lt2 = iter(lt)

print(isinstance(lt2,Iterator))

2、生成器

生成器就是一种特殊的迭代器,生成器是一次生成一个值的特殊类型函数。可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的生成器,简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值