循环结构用来重复执行—条或多条语句。表达这样的逻辑∶如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为 True,如果为True则重复执行循环体里的语句。循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成—个死循环。
目录
While循环
while 条件表达式:
循环体语句
for循环
for 变量 in 可迭代对象:
循环体语句
Python包含以下几种可迭代对象:
1、序列(字符串、列表、元组)
2、字典
3、迭代器对象( iterator )
4、生成器函数( generator )
5、文件对象
else
Python的循环语句支持 else 子句:
for 循环中,可迭代对象中的元素全部循环完毕时
while 循环的条件为假时,执行该子句
总而言之:没有break语句终止循环,就会执行else子句
循环的技巧
·
items()
在字典中循环时,用items()方法可同时取出键和对应的值
a= {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in a.items():
print(k, v)
·
enumerate()
在序列中循环时,用enumerate()函数可以同时取出位置索引和对应的值
for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)
·
zip()
同时循环两个或多个序列时,用zip()函数可以将其内的元素一一匹配
list1 = ['a', 'b', 'c']
list2 = [1,2,3]
for x,y in zip(list1, list2):
print(x,y)
·
reversed()
逆向循环序列时,先正向定位序列,然后调用reversed()函数
for i in reversed(range(1, 10)):
print(i)
·
sorted()
按指定顺序循环序列,可以用sorted()函数,在不改动原序列的基础上,返回一个重新的序列
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for i in sorted(basket):
print(i)
·
去重
使用 set() 去除序列中的重复元素
使用 sorted() 加 set() 则按排序后的顺序,循环遍历序列中的唯一元素
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for i in sorted(set(basket)):
print(i)