推导式comprehension(又称解析式),是python的一种独有特性。推导式是从一个数据序列构建另外一个数据序列结构体。共有三种推导。
- 字典推导式
- 列表推导式
- 集合推导式
【列表推导式】
列表推导是能够非常简洁的构造一个新列表:只用一个非常简洁的表达式即可对得到的元素进行变形。
其基本格式如下:
[expr for value in collection if condition]
过滤条件可有可无,取决于实际应用,只留下表达式,相当于下面的for循环:
以下为例可以更加了解列表推导式
将names 列表中字符长度小于3的过滤掉并将名字转换为大写
【字典推导式】
字典推导式思路列表推导式相似,只不过产生的是字典而已,其基本的表达形式如下:
{key_expr : value_expr for value in collections if condition}
例题
以列表内字符以及字符长度建立一个字典
【集合推导式】
集合推导式与字典推导式表达式相同,只不过是外围符号由[]变成大括号{}
{expr for value in collection if condition}
例子 用集合推导建字符串长度的集合
【嵌套列表推导式】
嵌套列表是指列表中嵌套有列表如下图
例子:提取含有分表含有两个列表中名字中含有‘e'多于2个的名字
使用推导式的语句如下: