Python的循环结构(二)
高级循环
1.for循环
通过遍历一个可迭代对象来作为循环的基础,当遍历对象完成时,循环也就结束。
例:遍历列表
list1 = [1,2,4,8,16]
str1 = 'Hello world'
for item in list1:
print(item, end='')
for item in str1:
print(item)
2.列表推导式
列表推导式的语法规则如下:
variable = [out_exp_res for out_exp in input_list if out_exp]
赋值表达式右侧方括号中的内容如下:
out_exp_res
:列表生成元素表达式,可以是有返回值的函数。
for out_exp in input_list
:迭代 input_list 将 out_exp 传入 out_exp_res 表达式中。
if out_exp
:根据条件过滤列表中的一部分值(可选)。
左侧则是一个列表,其中的每个元素对应了每次迭代所获得的数据。
例:对字符串中的每个字符进行 ASCII 编码的编号查找
a = [ord(x) for x in "'Don't cry,don't give up"]
print(a)
3.生成器
列表元素可以按照某种算法推算出来,在循环的过程中不断推算出后续的元素,这样就不必创建完整的列表,从而节省大量的空间。这种概念称为延迟求值,属于惰性计算的一种。
在 Python 中,它叫作生成器(generator)。
例:for循环遍历生成器
a = (x ** 3 for x in range(100) if x % 5 == 0)
for i in a:
print(i)
还可以用a.next()
一个一个输出值,好像只限于在Python的交互式下进行。
感谢大家,点赞,收藏,关注,评论!