基础

本文深入探讨Python中的列表解析式、生成器表达式及集合、字典解析式的语法与特性,对比它们之间的区别,包括计算方式、内存占用与计算速度。通过具体实例,展示如何利用这些语法糖来优化代码,提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表解析式和生成式
列表解析List Comprehension
语法
返回值 + for + 元素 + in +可迭代对象 + (可+if 条件 )
当返回值被print()接收之后,print()没有返回值,所以被print()后,只能返回Neno,没有返回值
list1 = [ i for i in range(10) ]
最外层使用中括号[],这是列表解析式,内部是for循环,if条件语句可选
返回一个新的列表
列表解析式是一种语法糖
编译器自行优化,不会因简写而降低效率;反而是优化过后更加高效
减少程序员的工作量,减少出错;简化了代码,使得可读性增强
例子:获取是20以内的偶数,且能被3整除
lst = [ i for i in range(20) if i%2==0 and i%3==0]
lst = [ i for i in range(30) if i%2==0 or i%3==0] 在里面不能写 elif else 只能用 or
lst = [ i for i in range(20) if i%2==0 if i%3==0]
lst = [ (i,j) for i in range(7) if > 4 for j in range(20,25) if > 22] 效率较高

[(x,y) for x in "abcdefgh" for y in range(3)]
[[x,y] for x in "abcdefgh" for y in range(3)]
[{x,y} for x in "abcdefgh" for y in range(3)]

生成器表达式Generator expression
语法
返回值 + for + 元素 + in +可迭代对象 if 条件
列表解析式的中括号换成小括号了
返回一个生成器
和列表解析式的区别
生成器表达式是按需计算(或称 惰性求职、延迟计算)
列表解析式是理解返回值
生成器
可迭代对象
迭代器
总结
生成器 列表
延迟计算 立即计算
返回迭代器,可以迭代 返回的不是迭代器,但返回的是可迭代对象列表
从前走到尾,不能回头再走一次 从前走到尾,可以重新回头迭代
对比
计算方式:
生成器表达式 延迟计算
列表解析式 立即计算
内存占用
单从返回值本身来说,生成器表达式节约内存;列表解析式返回新的列表
生成器没有数据,占内存极少,但是使用时,虽然是一个个的返回数据,但合起来占用的内存也差不多
列表解析式构造新的列表需要占用内存
计算速度
单看计算时间,生成器表达式耗时非常短,列表解析式耗时较长
但是生成器本身没有返回任何值,值返回了一个生成器对象
列表解析式构造并返回一个新的列表
集合解析式
语法
{返回值 + for+ 元素 + in+ 可迭代对象 if 条件}
列表解析式中的括号改为{}即可
立即返回一个集合
元素中不能出现不可hash类型,不可hash 的一般是可变类型数据
字典解析式
{返回值 + for + 元素 + in + 可迭代对象 if 条件}
列表解析式的中括号换成{}
使用key:value形式
立即返回一个字典

生成器和迭代器是不同的对象,但都是可迭代对象

转载于:https://blog.51cto.com/12951676/2175867

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值