Python for循环【带简单示例】

Python中的for循环是一个迭代功能。如果你有一个序列对象,比如一个列表,你可以使用for循环来迭代列表中包含的项目。

for循环的功能与其他多个编程语言中看到的循环并没有太大的区别。

在本文中,我们将详细探讨Python中的for循环,并学会迭代不同的序列,包括列表、元组等。此外,我们将学会使用break和continue语句来控制循环的流程。

Python for循环的基本语法

Python中for循环的基本语法类似于下面提到的语法。

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

让我更好地解释Python for循环的语法。

  • 语句的第一个单词以关键字“for”开始,表示for循环的开始。
  • 然后是迭代变量,它在序列上进行迭代,并可以在循环中执行各种功能
  • 接下来是Python中的“in”关键字,告诉迭代变量在序列中循环。
  • 最后,我们有序列变量,它可以是列表、元组或任何其他类型的迭代器。
  • 循环的语句部分是您可以操作迭代器变量并执行各种函数的地方

1. 使用for循环打印字符串的各个字母

Python字符串是字符序列。如果在您的编程应用程序中需要逐个遍历字符串的字符,您可以在这里使用for循环。

以下是您的操作方式。

word="anaconda"
for letter in word:
	print (letter)

输出:

a
n
a
c
o
n
d
a

这个循环有效的原因是因为Python将“字符串”视为字符序列,而不是将字符串作为一个整体来看。

2. 使用for循环迭代Python列表或元组

列表和元组是可迭代对象。现在让我们看看如何循环遍历这些对象中的元素。

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

输出:

Apple
Banana
Car
Dolphin

现在,让我们继续并开始循环遍历元组的元素。

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# 输出
# 数字的总和是10

3. 嵌套 Python for 循环

当我们在另一个for循环中有一个for循环时,这被称为嵌套for循环。嵌套for循环有多个应用。

考虑上面的列表示例。for循环逐个打印列表中的单词。但是,如果我们想要打印出列表中每个单词的各个字符呢?

这就是嵌套for循环更好的地方。第一个循环(父循环)将逐个遍历单词。第二个循环(子循环)将遍历每个单词的字符。

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        # 此循环正在从列表中获取单词
        print ("The following lines will print each letters of "+word)
        for letter in word:
                # 此循环正在为单词获取字母
                print (letter)
        print("") # 此打印用于打印空行

输出

4. 使用range()函数的Python for循环

Python的range()是其中之一内置函数。当您希望for循环运行特定次数,或者需要指定要打印的对象范围时,range函数非常有效。考虑以下示例,我想打印数字1、2和3。

for x in range(3):
    print("Printing:", x)
	

# 输出



# 打印:0


# 打印:1


# 打印:2


range函数除了开始和停止参数外,还接受另一个参数。这是步长参数。它告诉range函数在每次计数之间要跳过多少个数字。

在下面的示例中,我使用数字3作为步长,您可以看到输出的数字是前一个数字+3。

for n in range(1, 10, 3):
    print("Printing with step:", n)
	

# 输出



# 带步长打印:1


# 带步长打印:4


# 带步长打印:7

5. 使用for循环的break语句

break语句用于提前退出for循环。当满足特定条件时,它用于中断for循环。

假设我们有一个数字列表,我们想要检查一个数字是否存在。我们可以遍历数字列表,如果找到数字,就跳出循环,因为我们不需要继续遍历剩余的元素。

在这种情况下,我们将使用Python的if else条件以及我们的for循环。

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# 输出
# 列表包含2:True

6. 使用for循环的continue语句

我们可以在for循环中使用continue语句,以跳过特定条件下的for循环体的执行。

假设我们有一个数字列表,我们想要打印正数的和。我们可以使用continue语句来跳过负数的for循环。

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. 在 Python 中使用带有 else 块的 for 循环

我们可以在 Python for 循环 中使用 else 块。只有当 for 循环 没有被 break 语句终止时,else 块才会被执行。

假设我们有一个函数,只有当所有数字都是偶数时才打印它们的和。

我们可以使用 break 语句来终止 for 循环,如果存在奇数,则可以在 else 部分打印和,以便仅当 for 循环正常执行时才打印。

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# 这将打印和
print_sum_even_nums([2, 4, 6, 8])

# 这不会打印和,因为序列中有奇数
print_sum_even_nums([2, 4, 5, 8])

# 输出

# for 循环正常执行
# 数字的和为 20

结论

Python 中的 for 循环与其他编程语言非常相似。我们可以使用 break 和 continue 语句来修改执行流程。然而,在 Python 中,for 循环中还可以有可选的 else 块。

I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.

Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example