目录

Python For 循环


Python For 循环

for循环用于迭代序列(即列表、元组、字典、集合或字符串)。

这不太像for其他编程语言中的关键字,并且工作方式更像其他面向对象编程语言中的迭代器方法。

随着for循环我们可以执行一组语句,对列表、元组、集合等中的每个项目执行一次。

示例

打印水果列表中的每个水果:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
亲自试一试 »

这个for循环不需要预先设置索引变量。


循环遍历字符串

即使字符串也是可迭代对象,它们也包含字符序列:

示例

循环遍历单词 "banana" 中的字母:

for x in "banana":
  print(x)
亲自试一试 »

中断语句

随着break声明我们可以在循环遍历所有项目之前停止循环:

示例

当退出循环时x是"banana":

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
  if x == "banana":
    break
亲自试一试 »

示例

当退出循环时x是 "banana",但这次中断出现在打印之前:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)
亲自试一试 »


继续语句

随着continue语句我们可以停止循环的当前迭代,并继续下一个:

示例

不打印香蕉:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)
亲自试一试 »

range() 函数

range()

这个range() 函数返回一个数字序列,默认从 0 开始,以 1 递增(默认),到指定数字结束。

示例

使用 range() 函数:

for x in range(6):
  print(x)
亲自试一试 »

注意range(6)不是0到6的值,而是0到5的值。

这个range() 函数默认以 0 作为起始值,但是可以通过添加参数来指定起始值:range(2, 6),表示 2 到 6 之间的值(但不包括 6):

示例

使用启动参数:

for x in range(2, 6):
  print(x)
亲自试一试 »

这个range() 函数默认将序列增加 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3):

示例

将序列增加 3(默认为 1):

for x in range(2, 30, 3):
  print(x)
亲自试一试 »

For 循环中的 Else

这个else中的关键字for循环指定循环完成时要执行的代码块:

示例

打印从 0 到 5 的所有数字,并在循环结束时打印一条消息:

for x in range(6):
  print(x)
else:
  print("Finally finished!")
亲自试一试 »

笔记:这个else如果循环被 a 停止,则块将不会被执行break陈述。

示例

打破循环,当x是 3,看看会发生什么else堵塞:

for x in range(6):
  if x == 3: break
  print(x)
else:
  print("Finally finished!")
亲自试一试 »

嵌套循环

嵌套循环是循环内的循环。

"inner loop" 将在 "outer loop" 的每次迭代中执行一次:

示例

打印每种水果的每个形容词:

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)
亲自试一试 »

通过声明

for循环不能为空,但如果由于某种原因有一个for没有内容的循环,放入pass声明以避免出现错误。

示例

for x in [0, 1, 2]:
  pass
亲自试一试 »

通过练习测试一下

练习:

循环遍历中的项目fruits列表。

fruits = ["apple", 
"banana", "cherry"] x fruits print(x)

开始练习