• 了解Python控制流语句——for 循环


    for 循环

    Python教程中for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。我们将在后面的Python序列(Sequences)章节中了解有关它的更多内容。现在你所需要的就是所谓队列就是一系列项目的有序集合。

    案例(保存为 for.py):

    for i in range(1, 5):
        print(i)
    else:
        print('The for loop is over')

    输出:

    $ python for.py 
    1
    2
    3
    4
    The for loop is over

    它是如何工作的

     

    在这一程序中,我们打印了一个数字序列。我们通过内置的 range 函数生成这一数字序列。有哪些Python内置函数

    在这里我们所要做的事情是提供两个数字,而 range 将会返回一个数字序列,从第一个数字开始,至第二个数字结束。举个例子,range(1,5) 将输出序列 [1, 2, 3, 4]。在默认情况下,range 将会以 1 逐步递增。如果我们向 range 提供第三个数字,则这个数字将成为逐步递增的加数。同样举个例子来说明,range(1,5,2) 将会输出 [1, 3]。要记住这一序列扩展直到第二个数字,也就是说,它不会包括第二个数字在内。

    另外需要注意的是,range() 每次只会生成一个数字,如果你希望获得完整的数字列表,要在使用 range() 时调用 list()。例如下面这样:list(range(5)) ,它将会返回 [0, 1, 2, 3, 4]。有关列表的详细解释将会在 《数据结构》一章呈现。

    然后 for 循环就会在这一范围内展开递归——for i in range(1,5) 等价于 for i in [1, 2, 3, 4],这个操作将依次将队列里的每个数字(或是对象)分配给 i,一次一个,然后以每个 i 的值执行语句块。在本例中,我们这一语句块所做的就是打印出这些值。

    +

    同样要记住,else 部分是可选的。当循环中包含他时,它总会在python for 循环结束后开始执行,除非程序遇到了 break 语句。

    另一个需要注意的地方是 for...in 能在任何队列中工作。在这里,我们有的是通过内置的 range 函数生成的一串数字列表,但总体来说我们可以包含任何类型对象的队列!我们将会在后面的章节详细解释这一观念。

    针对 C/C++/Java/C# 程序员的提示

    Python 中的 for 循环和 C/C++ 中的 for 循环可以说是完全不同。C# 程序员会注意到 Python 中的 for 循环与 C# 中的 foreach 循环相似。Java 程序员则会注意到它同样与 Java 1.5 中的 for (int i : IntArray) 无甚区别。

    在 C/C++ 中,如果你希望编写 for (int i = 0; i < 5; i++),那么在 Python 你只需要写下 for i in range(0,5)。正如你所看到的,Python 中的 for 循环将更加简单,更具表现力且更不容易出错。

  • 相关阅读:
    [转] CNN工作步骤解析
    [转] Attention模型结构
    [转] Boost算法
    [转] GDBT详解
    [转] Noise Contrastive Estimation 噪声对比估计 资料
    [转] 对数似然与交叉熵
    [转] ELMO
    [转] Batch Normalization
    强化学习总结
    MySQL 与 Hive 逻辑相关
  • 原文地址:https://www.cnblogs.com/yuanrenxue/p/10668926.html
Copyright © 2020-2023  润新知