python的列表生成式|python的列表生成式,生成器和generator对象你了解吗
目录
- 列表生成式
- 列表表达式初始化dict或set
- generator对象
- 生成generator对象
- 总结
列表生成式 可以使用列表生成式生成 列表元素。
例如:
文章图片
列表还支持 if … else 与 for 循环组合的单行表达式进行初始化。
>>> example = [i*i if i%2 == 0 else 2*i for i in range(1,11)] # 1~10中,奇数*2,偶数平方>>> print ([i for i in range(1,11)]) # 对照组,1~10[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> example[2, 4, 6, 16, 10, 36, 14, 64, 18, 100]
文章图片
当然,if … else 本就支持单行写法。
>>> a = 100>>> if a < 100:...print("lt 100")... elif a == 100:...print("eq 100")... else:...print("gt 100")...eq 100>>>>>> # 如果将上述if...else写为单行式... print("lt 100") if a < 100 else print("eq 100") if a == 100 else print("gt 100")eq 100
文章图片
列表表达式初始化 dict 或 set 同时,我们也可以使用单行for初始化 set
文章图片
还可以用于提取list的下标与元素,需要注意的是,如果使用
:
的key:value的形式,最终结果是dict。文章图片
generator对象 探索,是否可以类比上述,生成tuple。当我这么做的时候,结果获得一个generator类型。
文章图片
简单来说返回的generator是一个可迭代对象,因此我们尝试使用 for 遍历它的时候,是可以遍历得到其所有数据的。
文章图片
而这里的 可迭代对象(Iterable)主要指可以直接作用于for循环的对象(for循环本质上就是通过不断调用next()函数进行迭代)。
包括内置的(
list
、tuple
、dict
、set
、str
等)和生成器(generator
)。生成generator对象 主要有两种方法:
- 第一种使用
()
包裹列表生成式 - 第二种,使用 yield 标记
文章图片
这里可以通过 next() 获取内部元素
文章图片
总结 【python的列表生成式|python的列表生成式,生成器和generator对象你了解吗】本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- bat批处理之字符串操作的实现
- Python3的进程和线程你了解吗
- 如何构建可重复读取inputStream的request
- SpringBoot如何接收Post请求Body里面的参数
- LeetCode|LeetCode 467. 环绕字符串中唯一的子字符串 -- 动态规划
- css|css 的 filter属性竟然如此好玩
- csdn的一些编写问题
- 对于多组数据输入输出的基础题目
- 调用含有数组的函数
- radiance皮肤在java的使用_TwelveMonkeys|radiance皮肤在java的使用_TwelveMonkeys ImageIO: Java ImageIO的一个插件和扩展集合