Python for复合语句:用列表推导实现双重循环

周予安
周予安
发布时间:2026-10-11| 3人浏览过
原创

本文通过对比传统的双重for循环与Python的for复合语句(列表推导),详细讲解如何利用简洁的语法实现数字组合清单的生成。通过Func1和Func2两个函数的示例,展示了for复合语句在代码凝练度、语法贴近性以及结果矩阵化处理方面的优势,帮助读者掌握Python中更高效的循环技巧。

Python for复合语句:双重循环的优雅实现

在Python编程中,除了常规的多层嵌套循环外,还存在一种更为简洁的“for复合语句”技巧。这种语法结构通常以列表推导(List Comprehension)的形式出现,能够直接实现双重for循环的功能,并将生成的结果以列表形式存储和打印。相比传统的循环写法,for复合语句的代码形式更为凝练,其表述方式也更贴近英语的自然语法,尤其在处理结果矩阵化时具有显著优势。

传统双重循环的实现方式

为了直观理解,我们先看一个使用传统双重for循环实现的示例。该示例定义了一个名为 Func1 的函数,接收两个参数 ten_num 和 one_num。函数通过两层循环遍历范围,计算并打印出组合后的数字。

#!/usr/bin/python

def Func1(ten_num, one_num):
    for i in range(ten_num):
        for j in range(one_num):
            print(10 * i + j)

当调用 Func1(2, 5) 时,程序会依次生成并打印以下数字组合清单:

0
1
2
3
4
10
11
12
13
14

使用for复合语句(列表推导)优化

接下来,我们展示如何利用Python的for复合语句来实现相同的功能。通过定义 Func2 函数,我们可以将双重循环的逻辑压缩到一行代码中。这种方式不仅减少了代码行数,还直接返回了一个包含所有计算结果的列表。

#!/usr/bin/python

def Func1(ten_num, one_num):
    for i in range(ten_num):
        for j in range(one_num):
            print(10 * i + j)

def Func2(ten_num, one_num):
    print([(10 * i + j)
        for i in range(ten_num)
        for j in range(one_num)])

#Func1(2,5)
Func2(2,5)

执行 Func2(2, 5) 后,程序输出的结果是一个完整的列表,清晰地展示了数字的组合情况:

[0, 1, 2, 3, 4, 10, 11, 12, 13, 14]

总结

通过对比 Func1 和 Func2,我们可以清晰地看到for复合语句在Python中的强大之处。它不仅实现了双重循环的功能,还通过列表推导的方式,使代码更加简洁、易读,并且直接提供了结构化的结果(列表)。对于需要频繁处理循环逻辑和生成数据集合的场景,掌握for复合语句将极大提升开发效率。

以上就是对Python中for复合语句的使用示例讲解,更多关于Python循环技巧与列表推导的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。