python基础(十七、变量进阶 - 推导式、生成器表达式)
15.变量进阶
7)推导式
列表、字典、结合都可以使用推导式,没有元组推导式
(1)列表推导式
使用循环语句创建列表
使用列表推导式创建列表
[结果 for循环 if语句]
只要偶数序号
把列表中姓张的人检索出来,放入新列表
使用推导式得到列表[1,4,9,16,25,36]
在列表[3,6,9]的基础上推导出列表[[1,2,3][4,5,6][7,8,9]]
(2)字典推导式
{key: value for循环 if语句}
给列表中的数据配上序号,形成字典
使用推导式:
只添加姓“张”的人员
字典的key和value互换
按顺序从两个列表取数据组成键值对,加入字典
(3)集合推导式
{key for循环 if语句}
将列表中的数据取绝对值后,加入集合。达到去重的目的
8)生成器表达式
生成器表达式并不真正的创建数字列表,而是返回一个生成器对象,此对象在每次计算出一个条目后,把这个条目"产生"(yield)出来。生成器对象可以直接进行for循环。生成器表达式使用了"惰性计算"或称作"延时求值"的机制。
生成器表达式:(结果 for变量 in 可迭代对象 if语句)