一、列表推导式
1.1 列表推导式的语法
**列表推导式语法形式为:
[expression for expr1 in sequence1 if condition1
for expr2 in sequence2 if condition2
for expr3 in sequence3 if condition3
...
for exprN in sequenceN if conditionN]**
列表推导式在逻辑上等价于一个循环语句,只是在形式上更加简洁!
1.2 比较列表推导式和循环
# 使用列表推导式
list1 = [x*x for x in range(10)]
print(list1) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 使用循环
list2 = []
for i in range(10):
list2.append(i*i)
print(list2) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
1.3 案例
使用列表推导式查找列表中最大元素的所有位置
from random import randint
x = [randint(1,10) for i in range(20)]
m = max(x)
print([index for index, value in enumerate(x) if value == m])
二、生成器表达式
2.1 概念
生成器表达式(generator expression)的用法与列表推导式非常相似,在形式上生成器表达式使用圆括号(parentheses)作为定界符,而不是列表推导式所使用的方括号(square brackets)。
2.2 生成器表达式的语法
生成器表达式的基本格式:
(expression for item in Sequence )
或
(expression for item in Sequence if conditional )
2.3 案例
# 使用生成器对象__next__()方法或内置函数next()进行遍历
a = ((i+2)**2 for i in range(10)) #创建生成器对象
print(a) # <generator object <genexpr> at 0x0000000003095200>
#将生成器对象转换为元组
print(tuple(a)) # (4, 9, 16, 25, 36, 49, 64, 81, 100, 121)
print(list(g)) # []
g = ((i+2)**2 for i in range(10)) #重新创建生成器对象
print(g.__next__()) #使用生成器对象的__next__()方法获取元素
# 4
print(g.__next__()) #获取下一个元素
文末有福利领取哦~
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
👉**一、Python所有方向的学习路线**
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉**二、Python必备开发工具**

👉**三、Python视频合集**
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉 **四、实战案例**
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。**(文末领读者福利)**

👉**五、Python练习题**
检查学习结果。

👉**六、面试资料**
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
**了解详情:https://docs.qq.com/doc/DSnl3ZGlhT1RDaVhV**