(一)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