HOWTO · Python

在 Python 中的一行中嵌套 for 循环

本教程演示了如何在 python 的一行中编写一个嵌套的 for 循环。

本页内容

for 循环是最常用的从列表中迭代项目的循环之一。在 Python 中,我们在一行中编写了 for 循环,但是当我们必须在其中使用另一个循环时,我们如何将它写在一行中呢?

本教程将讨论一些不同的方法,这些方法可用于在一行中编写嵌套的 for 循环。

使用 Python 中的列表推导在一行中嵌套 for 循环

我们可以通过三种方法轻松地在一行中编写嵌套的 for 循环。其中之一是列表推导。这是一种创建列表的紧凑方式。

语法:

# python
[print(a, b) for a in listOne for b in listTwo]

让我们看一个例子并使用列表推导。首先,我们将创建两个列表,listOne 和 listTwo,然后使用它们打印结果,如下所示。

# python
listOne = [1, 3, 5]
listTwo = [2, 4, 6]

[print(a + b) for a in listOne for b in listTwo]

输出:

使用列表推导的嵌套 for 循环示例

在示例中,我们使用列表推导在一行中使用嵌套的 for 循环添加了 2 个不同的列表。

在 Python 中使用 exec() 函数在一行中嵌套 for 循环

现在,我们将讨论另一个函数,它可以帮助我们在一行中实现嵌套的 for 循环,exec() 函数。它用于动态执行可以是字符串或目标代码的 Python 程序。

让我们看一个例子,我们将添加两个列表并打印总和,如下所示。

# python
listOne = [1, 3, 5]
listTwo = [2, 4, 6]

exec("for a in listOne:\n    for b in listTwo:\n        print(a+b)")

输出:

使用 exec() 函数嵌套 for 循环示例

从示例中可以看出,使用 exec() 函数,我们在一行中使用嵌套 for 循环添加了 2 个不同的列表。

概括

本教程教给我们两种不同的方法,列表推导和 exec(),可用于将 for 循环嵌套在一行中。