(一)while循环
"i+=1"起到控制循环结束运行的作用,如果没有"i+=1"程序将会陷入死循环。
代码:
1 a_tuple = ('fkit', 'crazyit', 'Charli')
2 i = 0
3 # 只有i小于len(a_list),继续执行循环体
4 while i < len(a_tuple):
5 print(a_tuple[i]) # 根据i来访问元组的元素
6 i += 1
运行结果:
fkit crazyit Charli
(二)for循环
isinstance() 函数用于判断某个变量是否为指定类型的实例。
代码:
1 src_list = [12, 45, 3.4, 13, 'a', 4, 56, 'crazyit', 109.5]
2 my_sum = 0
3 my_count = 0
4 for ele in src_list:
5 # 如果该元素是整数或浮点数
6 if isinstance(ele, int) or isinstance(ele, float):
7 print(ele)
8 # 累加该元素
9 my_sum += ele
10 # 数值元素的个数加1
11 my_count += 1
12 print('总和:', my_sum)
13 print('平均数:', my_sum / my_count)
运行结果:
12 45 3.4 13 4 56 109.5 总和: 242.9 平均数: 34.7
(三)循环中的else
代码:
1 a_list = [330, 1.4, 50, 'fkit', -3.5]
2 for ele in a_list:
3 print('元素: ', ele)
4 else:
5 # 访问循环计数器的值,依然等于最后一个元素的值
6 print('else块: ', ele)
运行结果:
元素: 330 元素: 1.4 元素: 50 元素: fkit 元素: -3.5 else块: -3.5
(四)循环嵌套
代码:
1 # 外层循环
2 for i in range(0, 5) :
3 j = 0
4 # 内层循环
5 while j < 3 :
6 print("i的值为: %d , j的值为: %d" % (i, j))
7 j += 1
运行结果:
i的值为: 0 , j的值为: 0 i的值为: 0 , j的值为: 1 i的值为: 0 , j的值为: 2 ......
(五)跳出当前循环体
break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统就将完全结束该循环,开始执行循环之后的代码。
代码:
1 # 一个简单的for循环
2 for i in range(0, 10) :
3 print("i的值是: ", i)
4 if i == 2 :
5 # 执行该语句时将结束循环
6 break
运行结果:
i的值是: 0 i的值是: 1 i的值是: 2
(六)直接执行下次循环
continue 语句的作用则没有break那么强大,它只能终止本次循环而继续执行下一次循环。
代码:
1 # 一个简单的for循环
2 for i in range(0, 3 ) :
3 print("i的值是: ", i)
4 if i == 1 :
5 # 忽略本次循环的剩下语句
6 continue
7 print("continue后的输出语句")
运行结果:
i的值是: 0 continue后的输出语句 i的值是: 1 i的值是: 2 continue后的输出语句
(七)循环搭配使用的函数
(1)zip函数
zip() 函数可以把两个列表“压缩”成一个 zip 对象(可迭代对象),这样就可以使用一个循环并行遍历两个列表。
代码:
1 books = ['疯狂Kotlin讲义', '疯狂Swift讲义', '疯狂Python讲义']
2 prices = [79, 69, 89]
3 # 使用zip()函数压缩两个列表,从而实现并行遍历
4 for book, price in zip(books, prices):
5 print("%s的价格是: %5.2f" % (book, price))
运行结果:
疯狂Kotlin讲义的价格是: 79.00 疯狂Swift讲义的价格是: 69.00 疯狂Python讲义的价格是: 89.00
(2)reversed函数
reversed()函数用于反向遍历。
代码:
1 b = ['a', 'fkit', 20, 3.4, 50] 2 for x in reversed(b): 3 print(x)
运行结果:
50 3.4 20 fkit a
(3)sorted函数
sorted()函数用于从小到大排序。
代码:
1 my_list = ['fkit', 'crazyit', 'Charlie', 'fox', 'Emily'] 2 #key=len按照字符串长度排序 3 for s in sorted(my_list, key=len): 4 print(s)
运行结果:
fox fkit Emily crazyit Charlie