跳至主要内容

Python for 循环新手指南:掌握 for i in range

在 Python 编程领域,掌握循环至关重要。本教程聚焦 Python 的 for i in range 循环,这是一种基础结构。
· 5分钟 阅读

使用 AI 探索

在 Python 编程领域,掌握循环至关重要。本教程将阐明 Python 中的 for i in range 循环,这是一种能简化重复任务的基础结构。我们将一起了解其语法、灵活性以及实践用法。

Python 中 for 循环的本质

Python 中的 for 循环是一种控制结构,用于遍历一个序列(如列表、元组、字典或字符串)。Python 的 for 循环之美在于它可以以清晰简洁的方式直接遍历序列中的各项。

for 循环的语法

for item in sequence:
    # perform actions

此处,item 代表序列中的每个元素,循环会针对每个元素执行代码块。

深入理解 Python 的 range() 函数

Python 中的 range() 函数对生成数值序列至关重要,它为循环提供了更强的控制力与灵活性。

range() 的灵活性

单参数用法

  • 生成从 0 到 n-1 的数字。
  • 示例:range(5) 产生 0、1、2、3、4。

双参数用法

  • 指定序列的起始与结束。
  • 示例:range(10, 15) 得到 10、11、12、13、14。

三参数用法

  • 可指定步长。
  • 示例:range(1, 20, 2) 产生 1、3、5、…、19。

实践应用与示例

遍历集合

1. 字符串:逐字符遍历。

for char in "Hello":
    print(char)
H
e
l
l
o

该循环会遍历字符串 "Hello" 中的每个字符。for 循环依次将每个字符('H'、'e'、'l'、'l'、'o')赋给变量 char 并打印。因此输出为 "Hello" 的每个字符各占一行。

2. 列表:遍历列表项。

for num in [1, 2, 3]:
    print(num)
1
2
3

此处循环遍历列表 [1, 2, 3]。每次迭代中,num 依次取列表下一个元素的值,从 1 到 2 再到 3,并打印。结果是数字 1、2、3 各自换行输出。

3. 字典:访问键与值。

for key, value in {'a': 1, 'b': 2}.items():
    print(key, value)
a 1
b 2

该循环遍历包含两组键值对('a': 1 与 'b': 2)的字典。.items() 方法返回一个视图对象,展示字典的键值元组对列表。每次迭代中,key 与 value 分别接收下一项的键与值并打印。

循环控制机制

1. break 语句:提前终止循环。

for i in range(10):
    if i == 5:
        break

该代码遍历 range(10) 生成的 0 到 9。当 i 等于 5 时,if 条件满足,触发 break 语句,从而停止循环,即使尚未遍历到 9。

2. continue 语句:跳过当前迭代。

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)
1
3
5
7
9

该循环同样遍历 0 到 9。但 if 语句会检查 i 是否为偶数(i % 2 == 0 表示 i 除以 2 的余数是否为 0)。若为偶数,则执行 continue,跳过本次循环体剩余部分。因此仅打印奇数。

使用 for 循环的进阶技巧

1. 嵌套循环

以下是嵌套循环示例:一个循环位于另一个循环内部。外层循环(for i in range(3))遍历数字 0、1、2。外层每次迭代时,内层循环(for j in range(3))也遍历 0、1、2。每种 i 与 j 的组合都会执行 print(i, j)。

for i in range(3):
    for j in range(3):
        print(i, j)
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

输出为表示 i 与 j 在 0 到 2 范围内所有组合的配对序列。

2. 搭配 Enumerate 遍历

enumerate 函数会为可迭代对象添加计数器,并以 enumerate 对象的形式返回。该对象可直接用于 for 循环。本示例中,for 循环通过 enumerate 遍历列表 ['a', 'b', 'c']。

for index, value in enumerate(['a', 'b', 'c']):
    print(index, value)
0 a
1 b
2 c

enumerate 会为列表中的每个元素添加索引,默认从 0 开始。循环随后遍历该 enumerate 对象,将每项解包为 index 和 value。index 为索引,value 为对应的列表元素。输出为多行索引与值的配对。

这些示例展示了如何利用嵌套循环完成复杂迭代,以及如何借助 enumerate 轻松追踪循环中元素的索引。

for 循环在数据科学中的应用

for 循环是 Python 编程与数据分析中的关键概念。它的应用十分广泛,例如遍历列表与数组,从而简化数据处理任务。我经常使用 for 循环,尤其是嵌套循环,以高效处理多维数据结构——这是构建机器学习算法的关键步骤。此外,数据科学家常将 for 循环与条件逻辑结合,用于复杂的数据处理,如对数据进行聚合,比如计算一组数字的均值。

然而,在处理大型数据集和深度学习算法时,for 循环可能并非最佳选择。这也是我们使用 NumPy、pandas 和 PyTorch 等库的原因——它们针对向量化操作进行了优化,更适合进行大规模数据处理。

结语:拥抱高效循环

总之,Python 的 for 循环是程序员不可或缺的工具。其简洁性与 range() 函数的强大能力相结合,使其非常适合数据科学与通用编程中的各类迭代任务。随着您不断练习并应用这些概念,您会发现自己的 Python 代码更高效、更具表达力。

您可以在我们的完整教程中进一步阅读While 循环,并在中级 Python 课程中探索本主题及其他概念。

Abid Ali Awan

作者

Abid Ali Awan

作为一名持证的数据科学家,我热衷于利用前沿技术打造创新的机器学习应用。凭借在语音识别、数据分析与报告、MLOps、对话式人工智能以及自然语言处理方面的扎实背景,我不断打磨构建智能系统的能力,力求带来切实影响。除技术专长外,我也擅长沟通,能够将复杂概念提炼为清晰、简明的表述。因此,我成为数据科学领域备受关注的博主,与不断壮大的数据专业人士社区分享洞见与实践经验。目前,我专注于内容创作与编辑,借助大语言模型打造有力且吸引人的内容,帮助企业与个人更好地发挥数据价值。

主题