今天生日,本节不收费,飨给大家!
这是 Python 基础课的第九节 - 解析表达式。该系列包含 11 节,目录如下:
解析表达式:简约也简单
生成器和迭代器:简约不简单
装饰器:高端不简单
解析化将一个可迭代对象转换成另一个可迭代对象,而解析式 (comprehension) 是实现该过程的表达式,如下所示。
可迭代对象 (iterable) 会在下一节课详细探讨,本贴就先把容器型数据 (str, list, tuple, dict, set) 都当成可迭代对象。
第一个可迭代对象:可以是任何容器类型数据。
第二个可迭代对象:看是什么类型解析式:
列表解析式:可迭代对象是列表
字典解析式:可迭代对象是字典
集合解析式:可迭代对象是集合
本节最大的亮点是用「带 if 的 for 循环」到「解析式」的过程想像成一个「复制-粘贴」的过程:
将「for 循环」的新列表复制到「解析式」里
将 append 里面的表达式 n 复制到新列表里
复制循环语句 for n in lst 到新列表里,不要最后的冒号
复制条件语句 if n%2 == 1 到新列表里,不要最后的冒号
通过这样的可视化过程,你发现列表解析式原来这么简单直观啊。
PDF 课件
课程视频
PDF 课件和 Jupyter Notebook 代码在下面百度盘下载:
链接:https://pan.baidu.com/s/1BXBw6rwDAL9cLXLwegkLDw
提取码:yyu5
QR code