python学习 lesson9简化for:集合字典列表生成式

一、生成式存在的意义

在python中存在内置高级方法:生成式。此方法可生成集合、列表和字典。运用此方法可以大大减少for循环的代码量,真正实现了“一行替十行”的简化作用。是编程中不可或缺的一部分。

二、列表生成式

列表生成式,是Python内置的一种极其强大的生成list的表达式。

1.简单for循环

基本结构:[experssion for item in 序列]

需求:生成一个列表,列表元素分别为[11,22,33…nn]

一般for循环实现:

li = []
for i in range(1,8):
    li.append(i**i)
print(li)

简单的用for循环可以实现。

列表生成式实现

print([i**i for i in range(1,8)])

python学习 lesson9简化for:集合字典列表生成式
显而易见,运用列表生成式减少了代码量。

2.for嵌套if语句

基本结构:[experssion for item in 序列 if 判断语句]

需求:找出1~10之间得所有得偶数

print([i for i in range(1, 11) if i % 2 == 0])

python学习 lesson9简化for:集合字典列表生成式

3.小练习

需求:三种方法找出1~10之间得所有偶数,并且返回一个列表(包含以这个偶数为半径得圆得面积)

方法一:

python学习 lesson9简化for:集合字典列表生成式

方法二:

python学习 lesson9简化for:集合字典列表生成式

方法三:

python学习 lesson9简化for:集合字典列表生成式

三、集合生成式

集合生成式相似于列表生成式。
基本结构:{experssion for item in 序列 if 判断语句}