什麼是列表推導式?
在 Python 中,清單推導式提供了一種建立清單的簡潔方法。它們使您能夠產生新列表,其中每個元素都派生自另一個可迭代物件(可以迭代的序列或容器)的元素。
列表推導式如何運作?
列表推導式由以下部分組成:
- 用於定義列表的方括號 ([])容器
- 迭代可迭代物件的 for循環
- 對可迭代物件中的每個項目進行操作的表達式
理解的結果是一個列表,其中每個項目元素表示將表達式應用於每個項目的結果可迭代。
範例:
此推導式為 0 到 9 範圍內的每個數字產生平方值列表,從而產生以下列表:
超出列表推導式:
列表推導式可以擴展到其他資料結構。
-
集合推導式: 使用表達式定義的元素建立集合,例如, {x for x in range(10)}.
-
字典推導式: 使用表達式定義的鍵值對建立字典,例如{key: value for key, value in items}。
-
產生器運算式: 建立產生器,其中是惰性迭代,例如 (x for x in range(10))。
利用列表推導式:
列表推導式提供多種用例,包括:
- 過濾:您可以使用它們根據條件選擇性地建立列表,例如[x for x in range(10) if x % 2 == 0].
- 映射:對每個元素應用操作,例如,[item.strip() for item in ['foo ', 'bar n']].
- 組合:組合來自多個可迭代的元素,例如,[d[x] for x in ['foo', 'baz']].
巢狀列表推導式:
多層次for 迴圈可用來清單推導式,例如[j for x in [ [1, 2, 3], [4, 5, 6]] for j in x],回傳扁平版本
提示:
- 推導式中的表達式必須是有效的 Python 語法。
- 使用巢狀推導式時,外部 for 必須位於內部 for 之前。
- 列表推導式可以在函數內部使用不帶方括號,例如 sum(i**2 for i in range(5)).
以上是Python 列表推導式如何運作以及它們的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!