匿名 Javascript 映射函數

| | | | | | | | | | | | | | | | | | |

Python map() 函數對集合的每個元素執行一個函數,例如列表或集合。 map () 函數接受一個函數和一個對象,該函數將在其上作為參數工作。

在 Python 中處理項目列表時,您可能希望執行特定的

是 Python 內置的 map () 函數的用武之地。Python 的 map 函數對可迭代對象(例如列表)的所有元素執行函數,並返回映射

在本教程中,我們通過一系列示例,討論如何在python中使用map()函數。

python Iterable對象

迭代對像是包含可數個值的元素,可以被遍歷。列表、字典、元組和集合在 Python 中都是可迭代的,因為它們可以包含多個值,並且可以遍歷。

假設您有一個要記住的學生姓名列表。除了存儲這些額外的名稱 Python 變量,您可以聲明一個數組來存儲值:

我們的學生 變量包含一個列表,它是一個可迭代的對象。這意味著我們可以遍歷列表中的項目。 function

python Map 函數語法

map() 傳遞列表中的每個元素,並對每個元素執行一個函數。 map() 是在 python 中內置的。這意味著您無需導入任何庫即可使用 map() 方法

Python card() 是一個高階函數,可以用來申請可迭代對像中多個元素的特定函數。 Python map() 函數的語法如下:

map()函數接受的第一個參數是函數。 這是將對可迭代對象的每個元素執行的函數。 iterable是要匹配的對象,比如列表、元組、字典或者集合

如何在 Python 中使用 Map 函數

假設您是一所學校的管理員,他的任務是創建完整的學生列表。

我們決定打印一個學生姓名列表,每個學生的班級列在他們的姓名旁邊。如果來自兩個不同班級的兩個學生有相同的名字,這將避免混淆。

這是該功能的完美應用。我們有一個要執行功能的可迭代對象。該功能會將學生的姓名與他們的年級合併。下面是一個程序,可以用來將學生姓名與他們自己的 Python map class() 級別合併:

在前兩行中,我們聲明了一個名為 mergeNamesAndGradesPython 函數。這個函數結合了每個學生的一年級姓名。

所以在下一行,我們定義了我們學校的學生列表。我們的名單上有五個學生。

map () 函數應用於 student_roster Python 變量。 map () 函數有兩個參數:函數(在本例中為 mergeNamesAndGra des)和可迭代對象(學生)。

map () 方法將 mergeNamesAndGrades () 函數應用於我們的每個學生

將 Python 映射轉換為列表

但是,我們的程序還沒有完成。 map () 函數返回一個映射對象,而不是我們的完整列表。如果我們此時打印我們的 student_roster 變量,我們的代碼將返回一個匹配的對象,如下所示:

生成此輸出是因為 map () 函數返回其自己的自定義對象,而不是列表。因此,如果我們想打印學生姓名列表,我們需要將我們的 student_roster 變量轉換為列表。這是我們可以用來執行此操作的代碼:

我們的代碼返回列表 Python

讓我們看另一個例子。假設我們要將每個學生的姓名和成績轉換為大寫的學生列表。我們可以使用下面的代碼來改變學生姓名和成績的大小寫:

我們的代碼返回一個我們可以迭代的列表:

在這個例子中,我們有定義了一個名為 changeCase 的函數。 該函數將每個學生的姓名更改為大寫。我們使用Python的upper()函數來轉換每個名字的大小寫

我們的程序使用map()函數調用changeCase() 在我們的可迭代對象 student_roster 中的每個對像上。最後,我們的程序以大寫字母返回修改後的學生姓名列表。函數

Python Map with Lambda

Python map () 函數可以與 lambda 函數一起使用來渲染我們更高效的代碼。在前面的示例中,我們聲明了一個新函數來以某種方式修改我們的可迭代對象.

但是如果我們只想對一個可迭代對象執行一次操作,就不需要聲明一個新函數了。我們可以使用lambda function Python,它是一個小的匿名函數

Lambda 函數 可以與 map () 一起用於小函數,其中我不想定義新函數。

由於 lambda 函數比普通函數更簡潔,因此您應該盡可能嘗試使用它們。將函數 lambda 用於簡單函數將幫助您提高代碼的可讀性

這是一個示例 lambda,用於提取學生姓名列表,正如我們所做的那樣 - 它。

我們沒有聲明一個.新函數來大寫我們學生的名字而不是這個,我們使用 lambda: s.upper (),這是一個小型匿名函數,允許您轉換我們學生的大寫名字。

我們的代碼返回以下內容:

結論

Pythonmap()可以用來申請可迭代對象的所有元素的特定函數。例如,您可以使用 map() 將字符串列表中的大小寫轉換為大寫。您還可以使用 card() 函數將數字列表乘以一定數量

在本教程中,我們討論瞭如何在 Python 中使用 map() 將函數應用於可迭代對象內的所有元素。您可以將 Python 的 lambda 函數與 map()< /em> 來創建更高效的代碼。

你現在已經具備了 Python 知識,你需要開始使用< em>map() 像個老大。