一、所谓解析/解析式,也称为推导/推导式,对应英语单词为comprehension,是Python的一种独有特性。解析就是从一个数据序列构建另一个新的数据序列的结构体,其本质是使用一个可迭代对象,按一定规则通过表达式、函数等运算后得到一个新的迭代对象,列表解析得到的就是列表对象,字典解析得到的是字典,集合解析得到的是集合。
二、语法释义
1.列表解析:通过解析表达式从一个可迭代对象生成一个新的列表[expr for iter_var in iterable]
[expr for iter_var in iterable if cond_expr]
其中:
语句中的中括号表示返回数据转换为列表。
expr为计算新列表元素值的表达式
iter_var:表示运算表达式处理的对象所在的容器,解析就是针对在可迭代对象iter_var中的每个元素进行表达式运算后得到的值作为新列表的元素过程;
if cond_exp:表示可迭代对象中的元素需要满足指定条件才会参与表达式运算,如果需要带多个条件,可以在if表达式后再叠加一个if表达式。如:l=[chr(i+ord('A')) for i in range(26) if i%2==0 if i%3==0 if i%4==0 ]#结果为:['A', 'M',