for 循环

Python SELF ZH
第 4 级 , 课程 2
可用

8.1 for 循环

能根据特定条件执行一组命令,这很好。但如果我想执行某个动作100次呢?该怎么做?

在 Python 语言中有循环。而对于我们这个任务,循环 for最合适。for的通用格式如下:

for 变量 in 值列表:
    命令1
    命令1
    命令N

这里的 值列表 是一组值:列表、字符串、字典(后面会讲)。

变量依次从 值列表中取值,并对每个值执行命令块。

例子:

示例 解释

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
1. 变量fruit 被赋值为 "apple" 并执行命令 print(fruit ) 2. 变量fruit 被赋值为 "banana" 并执行命令 print(fruit ) 3. 变量fruit 被赋值为 "cherry" 并执行命令 print(fruit )

循环是这样工作的

如果在单词 in 后面的列表中有10个值,那命令块就会执行10次。

对于 值列表 中的每个值,会发生两件事情:

  1. 循环变量(在 for 之后指定的)被依次赋值为列表中的值。
  2. 然后执行命令块。

再一个例子:

示例 解释

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
循环会打印出数字:
1
2
3
4
5
6
7
8
9
10

8.2 指定范围 — range

在最后一个例子中,你可以看到打印10个数字非常简单。但如果我们想执行循环100次呢?或者1000次?

当然有解决方案。在 Python 中,有一个特殊的函数 range(),用来生成数字序列,与循环for结合使用,是一个处理重复任务的强大工具。

函数 range() 可以根据传递给它的参数数量,用几种方式使用。

应用基础 range()

一个参数:range(n) 生成从 0到n-1 的序列。这在需要执行特定次数的操作时很有用。


for i in range(5):
    print(i)  # 打印0到4

两个参数:range(start, stop) 生成从 startstop-1 的序列。这对于从特定数字开始迭代很有用。


for i in range(1, 6):
    print(i)  # 打印1到5 

三个参数:range(start, stop, step) 添加第三个参数 step,它定义了序列中数字之间的步长。


for i in range(0, 10, 2):
    print(i)  # 打印0到8的偶数  

反向循环range() 可以生成反向数字序列,用于执行反向迭代。


for i in range(10, 0, -1):
    print(i)  # 打印10到1 

函数 range()for 循环结合使用,为控制循环提供了灵活的工具。理解它的功能有助于创建更高效、更易理解的循环,这对于任何程序都是不可或缺的一部分。

8.3 列表循环

如果你想对不同的值执行一组操作,函数 range() 不适用,那么你可以通过方括号将这些值组合成一个列表。这个操作的通用形式如下:


for 变量 in [val1, val2, …, valN]:
    命令1
    命令1
    命令N

你只需要用逗号分隔列出值,循环会针对每个值执行,变量依次接受每个值。例子:

示例 解释

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
循环会打印出以下字符串:
apple
banana
cherry

你可以直接在循环中在单词 in 之后指定一个数字列表,例如:

示例 解释

for price in [0.99, 2.75, 0.25]:
    print(price)
循环会打印出数字:
0.99
2.75
0.25

在列表中,你可以列出任何类型的对象:

示例 解释

for data in [0.99, "apple", -1, True]:
    print(data)
                
循环会打印出以下字符串:
0.99
apple
-1
True
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION