Python基础12——推导式、生成器、迭代器

列表推导式:
在这里插入图片描述

当条件后再接条件时则意味着后面的条件实在前面条件里面,即是一个嵌套

但当条件里有else时,则格式为[表达式 if 条件 else 表达式 for 变量 in 列表名]

集合推导式:

与列表推导式差不多,就是括号变成了{},且会自动去除重复项

生成器(generator):

将符号[]换成符号()即将推导式变为生成器

生成器的作用,减少不必要的内存占用

调用时可使用生成器内置函数.next()

来一次产生一个结果

也可使用next(生成器)来产生结果

生成器的生成方法:

1.使用列表推导式

()

2.使用函数+yield

当函数加了yield()后就会变成一个生成器

输出结果:

用变量接收产生的结果

print(变量名.next())

或者

print(next(变量名))

以上的输出是无法向生成器内传值的,当需要传值时,则需要使用send()函数,不过send()函数第一次传值一定要传空值

在这里插入图片描述

生成器可用作协程,线程>进程>协程

迭代器:

生成器就是一种特殊的迭代器,迭代器包含生成器,还包含着像列表,元组,字典等类型的非迭代器类型的类型,但是能用next()方法调用并依次取值,可以使用iter(list or tuple or dict…)函数将列表或其他的转换为迭代器类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值