• 1.11 for语句(Python)


    本文来自异想之旅公开发布的Python教程,原文地址:https://www.yuque.com/yxzl/python

    简介

    (这一段理解不了直接跳不影响)

    for 语句的格式:

    for 循环变量 in 迭代变量:
        循环体
    
    • 1
    • 2

    for 会:

    • 获取迭代变量的迭代器 迭代器 = iter(迭代变量)
    • 每次将循环变量赋值为循环变量 = next(迭代器)

    具体流程可以参考下图:

    在这里插入图片描述

    简单的示例

    for i in [1, 2, 3]:
        print(i)
    print('END')
    
    • 1
    • 2
    • 3

    输出:

    1
    2
    3
    END
    
    • 1
    • 2
    • 3
    • 4

    在本例中,i是一个普通的变量,可以使用任意合法且未使用的变量名,一般约定上使用i,j,k,l...;而for语句根据in后面跟随的列表的长度决定循环次数,并在每次循环中依次把列表中的每一个值赋值给i。当赋值结束,循环也就终止。

    for i in range

    更多的时候,我们使用for循环只是为了严格的进行指定次数的循环,这时候相比先手动去建立一个列表,Python为我们提供了更简单的方式:

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

    输出:

    0
    1
    2
    
    • 1
    • 2
    • 3

    可以看到,上面的这两行代码共循环执行了3次print语句,i的取值是0,1,2

    这里我们可以用listrange()的返回值进行一次转换,来观察其规律:

    print(list(range(3)))  # [0, 1, 2]
    print(list(range(0, 3)))  # [0, 1, 2]
    print(list(range(3, 6)))  # [3, 4, 5]
    print(list(range(3, 6, 2)))  # [3, 5]
    print(list(range(7, 3, -1)))  # [7, 6, 5, 4]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 当我们只传递一个参数时,程序处理时会自动帮我们填充0,即range(x)等价于range(0, x),并按照下面的规则处理
    • 当我们传递两个或三个参数时,range生成的列表范围和切片所能取到的列表项的索引是相同的,具体请参考 1.7 章节的相关内容。

    当然了,对于上例中的任何一个式子,用在for中也是一样的结果,此处以range(3, 6, 2)做演示:

    for i in range(3, 6, 2):
        print(i)
    
    # 输出:
    # 3
    # 5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    for i in str

    与“简单的示例”类似的,作为和列表在某些特性上极为相似的类型,for i in str也是合法的:

    for i in 'Hello':
        print(i, end='-')
    
    # 输出:H-e-l-l-o-
    
    • 1
    • 2
    • 3
    • 4

    for 中的 else

    与 上一章节 中提到的“while中的else”一样,如果for循环正常退出,则会执行else中的语句;如果for循环是被break结束,则不会执行。

  • 相关阅读:
    【JavaEE】CSS
    LeetCode知识点总结 - 508
    Linux quotaoff命令教程:如何关闭文件系统的配额(附实例详解和注意事项)
    HarmonyOS 如何使用异步并发能力进行开发
    数据结构——二叉树的基本概念及顺序存储(堆)
    强大的SQL计算利器-SPL
    mysql事务
    spring boot3登录开发-微信小程序用户登录设计与实现
    Verilog 不同编码风格对综合电路的影响
    用opencv绘制一个箭头,沿着圆运动并留下运动轨迹(c++)
  • 原文地址:https://blog.csdn.net/weixin_44495599/article/details/126184639