myfreax

python for循环

在本文中,我们将涵盖Python中for循环的基础知识。 我们还将向您展示如何使用 range类型来生成一系列数字序列,else,break和continue语句来改变循环的流程

4 min read
By myfreax
python for循环

循环是编程语言的基本概念之一。 循环用于执行重复任务,直到满足某个条件。

Python中有两个主循环构造,允许您重复重复一块代码,forwhile循环。

在本文中,我们将涵盖Python中for循环的基础知识。 我们还将向您展示如何使用 range类型来生成一系列数字序列,elsebreakcontinue语句来改变循环的流程。

Python for循环

Python中的for循环迭代序列的元素,并重复执行语句块。

Python for循环采用以下形式:

for item in sequence:
  statements

for语句从for关键字开始,然后是一个变量(item)来将序列的每个元素分配给(循环控制目标),然后是in关键字,最后是序列 。 每个条件陈述以冒号结束(:)。

statements块以缩进开始, 大多数人选择使用4空格或2个空格缩进。 Python代码的官方样式指南建议使用每个缩进级别为4空格,避免混合使用tab和空格进行缩进。

以下是一个例子:

berries = ["Blueberry", "Raspberry", "Strawberry"]

for berry in berries:
  print(berry)
Blueberry
Raspberry
Strawberry

您可以迭代任何序列,例如字符串,列表,字典或元组。

在下面的代码中,我们正在迭代字符串“Linux”中的字符:

for x in 'linux':
  print(x)
l
i
n
u
x

当循环字典时,变量将分配给key:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(key)
Blueberry
Raspberry
Strawberry

要访问字典的值,请使用key的索引:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(berries[key])

循环字典的值的另一个选项是使用values()方法:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for value in berries.values():
  print(value)

两个示例的输出相同:

100
125
150

range()构造函数

Python range()构造函数允许您通过定义范围的开始和结束点来生成整数序列。 range()在Python 2和3中有不同工作方式。在本文中,我们使用Python 3.

range()通常与for循环一起使用以迭代一系列数字。 这是一个python等效的c风格for循环。

当仅给出一个参数时,range返回一系列数字,递增1,从0开始,从0到argument - 1

for i in range(3):
  print(i)
0
1
2

当提供两个参数时,range返回一个数字序列,从第一个参数开始到second argument - 1

for i in range(3, 5):
  print(i)
3
4

第三个参数允许您指定递增:

for i in range(0, 16, 5):
  print(i)
0
5
10
15

嵌套for循环

嵌套循环是另一个循环内的循环。 它们通常用于处理包含可识别元素的可迭代对象:

for i in range(0, 6):
  for j in range(0, 6):
    print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10

breakcontinue语句

breakcontinue语句允许您控制for循环的执行。

break语句

break语句终止当前循环并将程序控制传递给循环遵循的语句。 在嵌套循环中使用时,break语句终止最内循环。

在以下示例中,我们使用if语句来终止循环的执行,一旦当前迭代的元素等于“Raspberry”:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
Blueberry

continue语句

continue语句退出循环的当前迭代并将程序控制传递给循环的下一次迭代。 循环未终止; 只跳过当前迭代。

在以下示例中,我们通过一系列数字进行迭代。 当当前迭代的元素等于3时,continue语句将导致执行返回到循环的开头并继续下次迭代:

for i in range(1, 6):
  if i == 3:
    continue
  print(i)
1
2
4
5

else条件

在Python中,for循环可以具有可选else条件。

当循环正常完成时,执行else子句,即当所有迭代都完成时:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  print(i)
else:
  print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.

当循环被breakcontinue语句终止时,不执行else子句:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
else:
  print('Loop completed.')
Blueberry

结论

Python for循环用于重复执行用于固定次数的代码块。

如果您有任何问题或反馈,请随时留下评论。

Related Articles