一、格式一
[表达式 for 迭代变量 in 迭代对象]
2:如果不需要来自原列表中的值,常规的方法是使用下划线作为变量
二、格式二
[表达式 for 迭代变量 in 迭代对象 if条件]
注:
如果布尔表达式为True,则计算当前项目的表达式,并将值附加到结果列表中。
如果布尔表达式为False,忽略该项。
三、列表推导式的作用
列表推导式可用于复制可迭代对象,效率较高
列表推导式用于清洗文件每行首尾的空白字符
法一:
注:l.strip()不为空,则布尔值为True,计算当前表达式;l.strip()为空,则布尔值为False,跳过当前表达式。
法二:
注:
line不为空,则为True;line为空,则为False。
内部的列表推导式删除每行首尾空白,外部的列表推导式消除空字符串(空行)
列表解析可以包含多个for语句
列表生成器对象
列表推导式被包含在一个圆括号中,生成一个列表生成器对象
四、集合解析和字典解析
集合解析
将外侧的[]变成{}即可
字典解析