匿名 Javascript 映射函數
__dict__ |
JavaScript |
mean |
readability |
sin
Michael Zippo
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() 級別合併:
在前兩行中,我們聲明了一個名為 mergeNamesAndGrades 的 Python 函數。這個函數結合了每個學生的一年級姓名。
所以在下一行,我們定義了我們學校的學生列表。我們的名單上有五個學生。
map () 函數應用於 student_roster Python 變量。 map () 函數有兩個參數:函數(在本例中為 mergeNamesAndGra des)和可迭代對象(學生)。
map () 方法將 mergeNamesAndGrades () 函數應用於我們的每個學生
將 Python 映射轉換為列表
但是,我們的程序還沒有完成。 map () 函數返回一個映射對象,而不是我們的完整列表。如果我們此時打印我們的 student_roster 變量,我們的代碼將返回一個匹配的對象,如下所示:
生成此輸出是因為 map () 函數返回其自己的自定義對象,而不是列表。因此,如果我們想打印學生姓名列表,我們需要將我們的 student_roster 變量轉換為列表。這是我們可以用來執行此操作的代碼:
我們的代碼返回列表 Python :
讓我們看另一個例子。假設我們要將每個學生的姓名和成績轉換為大寫的學生列表。我們可以使用下面的代碼來改變學生姓名和成績的大小寫:
我們的代碼返回一個我們可以迭代的列表:
在這個例子中,我們有定義了一個名為 changeCase 的函數。 該函數將每個學生的姓名更改為大寫。我們使用Python的upper()函數來轉換每個名字的大小寫
我們的程序使用map()函數調用changeCase() em> 在我們的可迭代對象 student_roster 中的每個對像上。最後,我們的程序以大寫字母返回修改後的學生姓名列表。函數
Python Map with Lambda
Python map () 函數可以與 lambda 函數一起使用來渲染我們更高效的代碼。在前面的示例中,我們聲明了一個新函數來以某種方式修改我們的可迭代對象.
但是如果我們只想對一個可迭代對象執行一次操作,就不需要聲明一個新函數了。我們可以使用lambda function Python,它是一個小的匿名函數