在 Python 中的一行中巢狀 for 迴圈
Rana Hasnain Khan
2023年1月30日
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
迴圈巢狀在一行中。
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