1.概念
推导式comprehensions(又称解析式),是Python的一种独有特性。
推导式是可以从一个数据序列构建另一个新的数据序列。比如说给定一个列表,可以由推导式生成一个新的列表。
2.列表推导式
(1)概念
列表推导式(list comprehension)是利用其它列表创建新列表的一种方式,
工作原理类似for循环,即可对得到的元素进行转换或者筛选。
(2)列表推导式的基本格式
变量名=[表达式 for 临时变量 in 列表] 或者
变量名= [表达式 for 临时变量 in 列表 if 条件]
(3)执行流程
从列表中遍历每一个元素给临时变量,表达式使用临时变量做一些逻辑判断,最后将新的数据放到新的列表中。
(4)练习1
将lst中每一个元素进行平方后放入到一个新列表中
结果:
(5)练习2
求出lst 中是奇数的值,然后放入到一个新列表中
结果:
(6)练习3
求列表中所有大于2的偶数进行平方计算
结果:
(7)练习4
将一个嵌套列表转换成一个一维列表
结果:
(8)练习5
现在有一列表lst = [[1,2,3],[4,5,6],[7,8,9]],要求取出1/4/7 和 1/5/9 元素
结果:
结果:
3.字典推导式
(1)格式
变量名={表达式 for 临时变量 可迭代内容}
(2)练习
将字典中的key和value 进行对换
结果:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
4.集合推导式
(1)格式
变量名={表达式 for 临时变量 可迭代内容}
(2)练习
计算列表中每个值的平方,自带去重功能