Python for 循环
温馨提示:这篇文章已超过401天没有更新,请注意相关的内容是否还可用!
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” 关键字,告诉迭代变量在序列中循环。
- 最后,我们有 序列变量,可以是列表、元组或任何其他类型的迭代器。
- 循环的语句部分是你可以使用迭代变量进行各种操作的地方。
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}') # 输出 # Sum of numbers is 103. 嵌套 Python for 循环
当一个 for 循环位于另一个 for 循环内部时,它被称为嵌套 for 循环。嵌套 for 循环有多种应用。
考虑上面的列表示例。for 循环从列表中逐个打印单词。但是,如果我们想要逐个打印列表中每个单词的各个字符呢?
这就是嵌套 for 循环更好地发挥作用的地方。第一个循环(父循环)将逐个单词进行循环。第二个循环(子循环)将循环遍历每个单词的字符。
words= ["Apple", "Banana", "Car", "Dolphin" ] for word in words: # 这个循环从列表中获取单词 print ("以下行将打印 "+word+" 的每个字母") for letter in word: # 这个循环从单词中获取字母 print (letter) print("") # 这个打印用于打印一个空行输出
!python 嵌套 for 循环示例
4. 使用 range() 函数的 Python for 循环
Python 的 range() 是内置函数之一。当你想让 for 循环运行特定次数,或者需要指定要打印的对象范围时,range 函数非常有效。考虑以下示例,我想打印数字 1、2 和 3。
for x in range(3): print("Printing:", x) # 输出 # Printing: 0 # Printing: 1 # Printing: 2range 函数除了起始和结束之外,还接受另一个参数。这就是 步长参数。它告诉 range 函数在每次计数之间要跳过多少个数字。
在下面的示例中,我使用数字 3 作为步长,你可以看到输出的数字是前一个数字 + 3。
for n in range(1, 10, 3): print("Printing with step:", n)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}') # 输出 # List contains 2: True6. 使用 for 循环的 continue 语句
我们可以在 for 循环中使用 continue 语句来跳过特定条件下的 for 循环体执行。
假设我们有一个数字列表,我们想要打印正数的总和。我们可以使用 continue 语句来跳过负数的 for 循环。
nums = [1, 2, -3, 4, -5, 6] sum_positives = 0 for num in nums: if num6. 带有 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 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 loop executed normally # Sum of numbers 20结论
Python 中的 for 循环与其他编程语言非常相似。我们可以使用 break 和 continue 语句来改变执行流程。然而,在 Python 中,我们还可以在 for 循环中使用可选的 else 块。
