在 Python 中的一行中嵌套 for 循环
Rana Hasnain Khan
2023年1月30日
2022年5月17日
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
循环添加了 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
循环添加了 2 个不同的列表。
概括
本教程教给我们两种不同的方法,列表推导和 exec()
,可用于将 for
循环嵌套在一行中。
Author: Rana Hasnain Khan
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn