Python列表解析和生成器表达式
来源:互联网 发布:网络不稳定是什么原因 编辑:程序博客网 时间:2024/06/05 01:00
列表解析
在需要改变列表而不是需要新建列表时,可以使用列表解析。列表解析表达式:
[exp for iter_var in iterable]
第一种语法:首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
[exp for iter_var in iterable if cond_exp]
第二种语法:加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
例:
生成一个3行5列矩阵
L = [(x + 1, y + 1) for x in range(3) for y in range(5)]
L
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5)]
遴选大于5的数参与计算
N = [x + 10 for x in range(10) if x > 5]
N
[16, 17, 18, 19]
生成器表达式
生成器表达式是在python2.4中引入的,当序列过长, 而每次只需要获取一个元素时,应当考虑使用生成器表达式而不是列表解析,也就是说采用了一个更加友好的内存结构。生成器表达式的语法和列表解析一样,只不过生成器表达式是被()括起来的,而不是[],如下:
(exp for iter_var in iterable)
(exp for iter_var in iterable if cond_exp)
例:
L = (i + 1 for i in range(10) if i % 2)
L
- Python 列表解析和生成器表达式
- Python 列表解析和生成器表达式
- python 中的列表解析和生成器表达式
- Python列表解析和生成器表达式
- [转]Python里有趣的列表解析和生成器表达式
- Python里有趣的列表解析和生成器表达式
- 深入理解python的生成器表达式和列表解析
- Python列表解析和生成器
- python--迭代器,生成器,三元表达式,列表解析,生成器表达式
- python 列表表达式和生成器表达式
- Python 生成器函数,生成器表达式,迭代器,列表解析
- 生成器表达式和列表解析的区别
- 列表解析式和生成器表达式
- Python列表推导式和生成器表达式
- python 列表推导和生成器表达式
- 【python】对列表的过滤, 列表解析,生成器表达式
- python整理十——生成器表达式与列表解析
- Python基础:08列表解析与生成器表达式
- STM32 学习笔记——GPIO口控制
- ios CABasicAnimation 动画结束后如何判断是哪个动画结束了
- 什么Android模拟器好用,方便反复安装app?
- Android 通过RGB_565加载图片在内存中占用大小
- 《知我》项目简介
- Python列表解析和生成器表达式
- 100分!!!如何实现两个不同手机不同APP之间的实时的数据传递
- 洛谷 P3355 骑士共存问题
- Netty权威指南 第2版学习笔记4——TCP粘包/拆包问题的解决之道
- P1219 八皇后
- asp+access点击提交时产生判断
- [架构优化]webAPP优化解决办法
- 灰度变换与空间滤波之一(读数字图像处理学习halcon)
- android的RSA加密