首頁 >後端開發 >Python教學 >Python 列表推導式如何運作以及它們的用途是什麼?

Python 列表推導式如何運作以及它們的用途是什麼?

Barbara Streisand
Barbara Streisand原創
2024-12-27 00:55:11958瀏覽

How Do Python List Comprehensions Work and What Are Their Uses?

什麼是列表推導式?

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn