Python for 循环

2024-02-27 1243阅读

温馨提示:这篇文章已超过401天没有更新,请注意相关的内容是否还可用!

Python 中的 for 循环

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

Python 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 10
    

    3. 嵌套 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: 2
    

    range 函数除了起始和结束之外,还接受另一个参数。这就是 步长参数。它告诉 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: 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  
    

    6. 带有 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 块。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]