对于Pyhon的循环

时间:2018-03-05 09:41:53

标签: python loops

所以早些时候我正在学习c / c ++并密切使用循环

for ( init; condition; increment ) {
   statement(s);
}

但是现在我正在学习python而且我遇到了python的实现 <循环

for num in range(5):
 print(num)

我的问题是循环如何在python中运行

1。)初始化在哪里?

2.。)测试条件在哪里?

3。)增量在哪里?

或者python不像c / c ++那样工作,请解释for循环是如何工作的 在python中

2 个答案:

答案 0 :(得分:2)

我认为您需要了解range不是for循环的一部分,而是一个不可变的序列类型。

范围定义:

range(start, stop[, step])
  

start start参数的值(如果参数不是,则为0)   提供)

     

停止停止参数的值

     

步骤步骤参数的值(如果参数不是,则为1)   提供)

Python的for语句遍历任何序列的项,因此range是不可变的序列类型,你提供给for循环的实际上是一系列数字。

>>> range(5)
[0, 1, 2, 3, 4]

>>> range(3, 7)
[3, 4, 5, 6]

>>> range(5, 0, -1)
[5, 4, 3, 2, 1]

因此range会创建一个数字列表,然后for循环用于循环。

你也可以:

for i in [0, 1, 2, 3, 4]:
    pass

你也有同样的结果。

现在,如何迭代序列是另一个问题。简而言之,它使用迭代器来执行此操作。你最好的朋友是阅读你正在学习的语言的docs

看看here以及更多示例。

答案 1 :(得分:1)

通常建议使用 enumerate()代替range()中的。它 像这样工作:

my_list = ["first_item","second_item","third_item"]
for i, item in enumerate(my_list):
    print(i)
    print(item)

[在此处输入图片描述] [1]

输出:

0
first_item
1
second_item
2
third_item