Python for 循环
循环在编程中用于重复执行特定的代码块。在本文中,您将学习使用 for 循环迭代序列、集合、字典和字符串。
循环在编程中用于重复执行特定的代码块。在本文中,您将学习使用 for 循环迭代序列、集合、字典和字符串。
Python 种的循环语句除了 for 循环 还有一个 while 循环。
Python for 循环
Python for
循环被用于遍历一个序列/集合(列表、元组、字典,集合,或字符串)或者其他可迭代对象。
Python for
循环不像其他编程语言中的 for
语法,而更像是其他面向对象编程语言中的迭代器方法。
打印水果列表中的每个水果:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
输出:
apple
banana
cherry
遍历字符串
字符串是可迭代对象,它是字符的序列。
循环遍历单词 “banana” 中的字母:
for x in "banana":
print(x)
输出:
b
a
n
a
n
a
break 声明
使用 break
语句,可以在某个适当的时机跳出和中断循环。
当 x
是 “banana” 时退出循环:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
输出:
apple
banana
当 x
是“banana”时退出循环,但这次中断出现在打印之前:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
输出:
apple
continue 声明
使用 continue
语句可以停止循环的当前迭代,直接进入下一个迭代。
不要打印香蕉:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
输出:
apple
cherry
range() 函数
我们可以使用 range()
函数生成一个数字序列。range(10)
将生成从 0
到 9
(10 个数字)的数字序列。
我们还可以使用 range(start, stop,step_size)
定义开始数字、停止数字和步长。如果未提供,则 step_size 默认为 1。
range()
函数不会将序列中所有值存储在内存中,因为这很低效。它会记住开始数字、停止数字和步长,并在过程中生成下一个数字。
我们可以使用 list()
构造函数将 rang()
转为列表,从而生成所有的值。
print(range(6)) # range(0, 6)
print(list(range(6))) # [0, 1, 2, 3, 4, 5]
print(range(1, 6, 2)) # range(1, 6, 2)
print(list(range(1, 6, 2))) # [1, 3, 5]
输出 range()
的值:
for x in range(6):
print(x)
输出:
0
1
2
3
4
5
!! 注意 range(6)
不是 0
到 6
的值,而是 0
到 5
的值。
for x in range(1, 6, 2):
print(x)
输出:
1
3
5
for 循环与 else
for
循环可以搭配一个可选的 else
语句,当循环中所有项目都遍历完成后,就执行 else
语句。如果 for
循环中途被 break
退出,则不会执行 else
语句。
打印从 0 到 5 的所有数字,并在循环结束时打印一条消息:
for x in range(6):
print(x)
else:
print("Finally finished!")
输出:
0
1
2
3
4
5
Finally finished!
如果循环被 break
语句停止,则不会执行 else
语句。
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
输出:
0
1
2
嵌套循环
有时候为了实现更复杂的逻辑,需要在循环内部再嵌套另外一个循环。“内循环” 在 “外循环” 的每次迭代中都会循环一遍。
为每种水果添加所有的形容词:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
输出:
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
pass 语句
for
循环不能为空,但如果由于某种原因有一个没有内容的 for
循环,请放入 pass
语句以避免出错。
for x in [0, 1, 2]:
pass