Python for循环完全指南:从入门到精通(附实例)

在Python中,for循环是一种迭代结构。如果你有一个序列对象,比如一个列表,你可以使用for循环来迭代列表中的项目。

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

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

Python的for循环的基本语法

在Python中,for循环的基本语法看起来类似于以下所示的样式。

for iterator_variable in sequence_name:
	Statements
	. . .
	Statements

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

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

使用for循环逐个打印字符串的字母

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

下面是如何实现的:

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

输出:

a
n
a
c
o
n
d
a

这个循环能够运行的原因是因为Python将”字符串”视为字符序列,而不是整个字符串的观点。

使用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_nums}')

# 输出
# 数字的总和是 10

3. 嵌套Python的循环

当我们在一个for循环内部添加另一个for循环时,这就被称为嵌套的for循环。嵌套的for循环有多种应用。

请考虑上述的列表示例。for循环从列表中打印出单个单词。但是,如果我们希望打印出列表中每个单词的单个字符呢?

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

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        #此循环从列表中获取单词
        print ("以下行将打印每个字母 "+word)
        for letter in word:
                #此循环获取单词的字母
                print (letter)
        print("") #此print用于打印空行
python nested for loop example

4. 使用Python的range()函数

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

for x in range(3):
    print("打印:", x)
	
# 输出

# 打印:0
# 打印:1
# 打印:2

range函数除了起始值和结束值之外,还可以接受另一个参数。这个参数是步长参数,用来告诉range函数在每次计数之间跳过多少个数字。

在以下的例子中,我使用了数字3作为步长,你可以看到输出的数字是前一个数字加上3。

for n in range(1, 10, 3):
    print("使用步长打印:", n)
	
# 输出

# 使用步长打印:1
# 使用步长打印:4
# 使用步长打印:7

5. 使用 for 循环的中断语句

5. 在for循环中使用break语句

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

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

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

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

n = 2

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

print(f'列表中包含 {n}: {found}')

# 输出
# 列表中包含 2: True

6. 在for循环中使用continue语句

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

假设我们有一个数字列表,我们想要打印出正数的总和。我们可以使用continue语句来跳过负数的处理,只对正数进行求和。

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

sum_positives = 0

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

print(f'正数总和: {sum_positives}')

7. 带有else块的Python 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循环正常执行")
        print(f'数字总和为 {total}')


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

# 由于序列中存在奇数,这不会打印总和
print_sum_even_nums([2, 4, 5, 8])

# 输出

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

结论

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

希望你从上面的教程中获得了一些有趣的想法。如果你有任何问题,请在下方评论中告诉我们。

bannerAds