Javascript列表理解

| | | |

理解 Python 列表是一種基於現有列表構建列表的方法。列表理解通常用於過濾列表中的項目或修改現有列表中的值。列表理解在方括號中。

使用列表時,您可以根據現有序列的內容創建列表。例如,您可以根據字符序列創建一個列表。或者您可能想要一個將另一個列表的內容翻倍的列表。

是列表推導的用武之地。本教程將通過示例探討 Python 列表的基礎知識以及如何使用列表推導

Python 列表:.更新的

列表數據結構允許您在 Python 中存儲項目集合。當您想要處理以某種方式相關的多個值時,通常會使用列表。

例如,您可以使用列表來存儲冰淇淋中銷售的所有冰淇淋口味店鋪。或者你可以使用一個列表來存儲葡萄酒俱樂部會員電話號碼的列表

這是一個Python列表的例子。

現在我們已經了解了列表的基礎知識,我們可以開始討論如何使用列表推導了。

理解 Python 列表

理解 Python 列表可以創建一個另一個列表的內容的新列表。您可以使用包含列表來複製列表或將現有列表的內容更改為新列表。也可以在了解列表的情況下將另一個iterable的內容轉移到列表中

您可以指定過濾器,以便您的新列表僅適用於我包括某些值。例如,您可以從數字列表中創建一個新列表。您的新列表不能包含大於 250 的數字。

在 Python 中理解列表的語法如下:

這個語法類似於 Python 對於聲明。但聲明在一行上。為了區分 for 語句,列表推導式括在方括號中

共有三部分在前面的語法中:

您可以使用包含 Python 聲明“ if ... else 的列表:

這種理解將項目添加到僅當它們滿足指定條件時才列出列表。

使用列表理解允許您創建一個新列表,而無需定義 for 完整的語句。for stat 元素至少需要兩行代碼,而您可以在一行上編寫列表推導。

有人說理解列表更多的是 Python 代碼。這是因為它們比使用簡短的 for 語句。

理解 Python 列表的示例

假設您要創建一個我們商店銷售的所有雞肉比薩餅的列表。我們會將所有雞肉比薩餅添加到我們菜單中的雞肉類別中。為此,我們可以使用 for 指令過濾我們的披薩。或者,我們可以使用列表推導過濾我們的列表。

我們可以使用包含列表來根據我們現有的比薩列表生成一個新的比薩列表,其名稱包含 Chicken .我們可以使用以下代碼:

我們的理解返回以下輸出列表:

在我們的代碼中,我們首先在菜單中定義一個比薩餅列表。我們的比薩餅存儲在名為 pizzas Python 變量 中。接下來,我們將使用一個列表來創建一個新的比薩餅列表,其名稱包含 Chicken

我們對列表的理解包括以下內容:。

  • p:.這是要添加到我們列表中的值
  • p in the pizzas:在我們的“pizzas”中的每個披薩中都有這個流。 list
  • if "Pollo" in p:檢查每個披薩是否包含"Pollo"。如果返回 True,則將存儲在“p”中的值添加到我們的列表中

我們的理解,列出只需要一行代碼,而在我們的下一個示例中,我們需要使用帶有 for 聲明的三行代碼來使其工作。我們的下一個示例展示了理解列表如何幫助編寫更簡潔的代碼。

沒有理解列表

讓我們去看看雞肉披薩的例子。沒有幫助 根據對列表的理解,如果我們想在菜單上生成雞肉披薩的列表,我們會使用這個代碼:

我們的代碼返回:

首先,我們將定義兩個列表。列表存儲在我們商店出售的比薩餅的列表。另一個清單是我們銷售的所有雞肉比薩的清單。我們出售的雞肉比薩列表最初是空的。

我們使用“for”語句來查看比薩列表中的每個比薩。接下來,我們將檢查每個比薩餅是否包含單詞Chicken。如果比薩餅包含單詞Chicken,我們將把該比薩餅添加到我們的雞肉比薩餅列表中。在這種情況下,三個披薩包含 Chicken,所有三個披薩都添加到我們的 pizza_pollo 列表中。

。有一種更有效的方法來編寫這段代碼:。使用列表理解

列表理解使用 if ... else

您也可以使用 if ... else。聲明與列表的理解

使用前if將比薩添加到我們的雞肉比薩列表中。如果比薩的名稱包含術語 Chicken,我們只會添加比薩。但假設我們列出哪些比薩是素食的。

如果披薩的名稱包含 Chicken,我們希望將“肉”添加到列表中,如果披薩名稱不包含 Chicken,我們希望將“肉”添加到列表中

這可以使用對列表的理解來完成:

Nos 代碼返回:

我們描述我們的代碼。首先,我們將聲明一個名為 pizzas 的比薩列表。接下來,我們使用一個列表包括來評估披薩的名稱是否包含Chicken

如果披薩的名稱包含Chickenmeat 值被添加到我們的 is_veggie 中。否則,將添加 Vegetarian 值。

如您所見,我們的 is_veggie 中的第一個值是 Meat,因為它在 pizzas > 中對應的值是 Chicken。但是我們的下一個值是Vegetarian,因為它在pizzas中對應的值是Margherita,其中不包含Chicken .