Python 中的一行中的 for 迴圈

Muhammad Waiz Khan 2023年1月30日
  1. Python 中的簡單一行 for 迴圈
  2. 在 Python 中使用單行 for 迴圈進行列表推導
  3. 在 Python 中使用 if ... else 語句使用單行 for 迴圈進行列表推導
Python 中的一行中的 for 迴圈

本教程將介紹在 Python 中實現一行 for 迴圈的各種方法。在 Python 中,一行 for 迴圈有多種形式;一個簡單的 for 迴圈可以遍歷可迭代物件或序列。另一個可以是簡單的列表推導,也可以是帶有 if ... else 語句的列表推導。

Python 中的簡單一行 for 迴圈

簡單的單行 for 迴圈就是 for 迴圈,它迴圈遍歷一個序列或一個可迭代的物件。因此,我們可以將可迭代物件與 for 迴圈或 range() 函式一起使用。可迭代物件可以是列表,陣列,集合或字典。

下面的示例程式碼演示瞭如何實現一行 for 迴圈來迭代 Python 的可迭代物件。

myset = {"a", "b", "c", "d", "e", "f", "g"}
mydict = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7}

for x in myset:
    print(x)

for key, val in mydict.items():
    print(key, val)

range(start, stop, step) 函式返回一個序列,該序列從 start 值開始,以 stop 值結束,步長等於 step

下面的示例程式碼演示瞭如何使用 range() 函式在 Python 中實現一行 for 迴圈。

for x in range(1, 99):
    # do something

在 Python 中使用單行 for 迴圈進行列表推導

列表推導是一種以多種程式語言(包括 Python)從現有列表建立新列表的語法方法。我們可以對列表的每個元素應用任何操作,並使用簡單的列表推導來建立新列表。

下面的示例程式碼演示瞭如何在 Python 中使用單行 for 迴圈來實現列表推導。下面的程式碼通過採用現有列表中每個元素的平方來建立一個新列表。

mylist = [6, 2, 8, 3, 1]

newlist = [x ** 2 for x in mylist]
print(newlist)

輸出:

[36, 4, 64, 9, 1]

在 Python 中使用 if ... else 語句使用單行 for 迴圈進行列表推導

帶有 if ... else 語句的列表推導用於對現有列表的某些特定元素應用操作以建立新列表,或從現有列表中過濾元素以建立新列表。

下面的示例程式碼演示瞭如何使用 for 迴圈在 Python 中使用 if 語句和 if...else 語句來實現列表推導。

下面的示例程式碼如果是奇數,則將元素新增到新列表中,如果是偶數,則將其丟棄。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x for x in mylist if x % 2 == 1]
print(newlist)

輸出:

[1, 5, 9, 11, 13]

下面的示例程式碼使用一行 if ... else 列表推導,將奇數元素新增為 1,將奇數元素轉換為偶數,並將偶數元素新增到列表,而無需對其進行任何操作,結果,我們得到一個新的偶數列表。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x + 1 if x % 2 == 1 else x for x in mylist]
print(newlist)

輸出:

[2, 4, 6, 8, 10, 12, 14, 12]

相關文章 - Python Loop