Python map() 函式
map() 會根據提供的函式對指定序列做對映。
第一個引數 function 以引數序列中的每一個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。
map(function, iterable, …)
- function – 函式,有兩個引數
- iterable – 一個或多個序列
- 將結果作為list返回
1、 對可迭代函式’iterable’中的每一個元素應用‘function’方法,將結果作為list返回
>>> def add100(x):
... return x+100
...
>>> hh = [11 ,22,33]
>>> map(add100,hh)
[111, 122, 133]
>>>
2、如果’function’給出的是‘None’,自動假定一個‘identity’函式
>>> list1 = [11,22,33]
>>> map(None,list1)
[11, 22, 33]
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(None ,list1,list2,list3)
[(11, 44, 77), (22, 55, 88), (33, 66, 99)]
>>>
3、如果給出了額外的可迭代引數,則對每個可迭代引數中的元素‘並行’的應用‘function’
>>> def abc(a, b, c):
... return a*10000 + b*100 + c
...
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(abc,list1,list2,list3)
[114477, 225588, 336699]
>>>
在每個list中,取出了下標相同的元素,執行了abc()
4、和列表推導式的對比
>>> [abc(a,b,c) for a in list1 for b in list2 for c in list3]
[114477, 114488, 114499, 115577, 115588, 115599, 116677, 116688, 116699, 224477, 224488, 224499, 225577, 225588, 225599, 226677, 226688, 226699, 334477, 334488, 334499, 335577, 335588, 335599, 336677, 336688, 336699]
>>>
>>> def square(x) :
... return x ** 2
...
>>> map(square, [1,2,3,4,5])
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])
[1, 4, 9, 16, 25]
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
>>>
map()只做了列上面的運算,而列表推導(也就是巢狀for迴圈)做了笛卡爾乘積,所以注意和列表推導式的區別。
相關推薦
python--- map函式和lambda函式
1...lambda 函式相當於一個匿名函式,顧名思義就是不用取名字的函式,相當於現實中的匿名信。 舉例: lambda x,y: x+y m = lambda x,y,z: (x-y)*z print (m(3,1,2)) 執行結果:4 2...map函式&nb
Python map()函式
描述 map函式是Python的內建函式。它會根據指定的函式對指定的序列做對映。第一個引數function以引數序列中的每一個元素呼叫function函式,返回每次掉用完function返回值後的迭代序列。 語法 map(function, iterable
Python map()函式的用法
Python函數語言程式設計之map() Python中map()、filter()、reduce()這三個都是應用於序列的內建函式。 格式: map(func, seq1[, seq2,…]) 第一個引數接受一個函式名,後面的引數接受一個或多個可迭代的
Python map() 函式
map() 會根據提供的函式對指定序列做對映。 第一個引數 function 以引數序列中的每一個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。 map(function, iterable, …) functio
python map函式處理字典
a = dict(addr='china', name='samy') map函式上述字典返回的是一個list,那如何返回字典呢? >>> map(lambda x: x.upper(), a.values()) ['CHINA', 'SAMY']
python map 函式使用
lambda函式:lambda x : f(x) 這就是匿名函式 map(f, literate) f 表示函式 r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> list(r) [1, 4, 9, 16, 25
學渣學python之map函式
map()函式是Python內建的高階函式,它接收一個函式f和一個list,並把函式f作用在list的每個元素上。從而得到一個f處理過的新的list返回。下面舉個栗子: 1. 例1 list [1, 2, 3, 4, 5, 6, 7] 我們要得到list的每個元素都平方後的,新的li
Python小白學習之路(十五)—【map()函式】【filter()函式】【reduce()函式】
一、map()函式 map()是 Python 內建的高階函式 有兩個引數,第一個是接收一個函式 f(匿名函式或者自定義函式都OK啦);第二個引數是一個 可迭代物件 功能是通過把函式 f 依次作用在 第二個引數 的每個元素上,得到一個新的 list 並返回。(新的 list 元素的個數與位置與舊
Python高階函式: map reduce filter
———————— map —————— map 是內建函式,不需要匯入模組 map(func,iterable) 引數1; 是每個元素需要執行的函式, 注意: 傳入的是函式名 該函式必須要傳入一個引數, 該函式必須有返回值 引數2: 是一個可迭代物件 (存放多個數據的集合) 作
Python之路Python作用域、匿名函式、函數語言程式設計、map函式、filter函式、reduce函式 Python之路Python作用域、匿名函式、函數語言程式設計、map函式、filter函式、reduce函式
Python之路Python作用域、匿名函式、函數語言程式設計、map函式、filter函式、reduce函式 一、作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("te
python高階函式,map,filter,reduce,ord,以及lambda表示式
為什麼我突然扯出這麼幾個函式,是因為我今天在看流暢的python這本書的時候,裡面有一部分內容看的有點懵逼。 >>> symbols = '$¢£¥€¤' >>> beyond_ascii = [ord(s) for s in symbols if ord(s)
【python】詳解map函式的用法之函式並行作用解析
Python函式程式設計中的map(func, seq1[, seq2,…]) 函式是將func作用於seq中的每一個元素,其中seq須是可迭代物件,並將所有的呼叫的結果作為一個list返回。如果func為None,作用同zip()。 本文參考自:Python中map()函式淺析一文,感謝精彩分享。 下面
Python進階08 map函式
re = map((lambda x: x + 1), [1, 2, 3]) print(type(re)) print(list(re)) '''map()有兩個引數,一個是lambda所定義的函式物件,一個是包含有多個元素的表。map()的功能是將函式物件依次作用於表的每一個元素, 每次作用的結果
python-map/reduce函式的應用
本文作者:黎智煊,叩丁狼高階講師。原創文章,轉載請註明出處。 map()和reduce()函式 上次我們說了python的列表生成,可以很方便用很少程式碼,去取代相同的功能但需要寫比較重複的程式碼,現在我們講一下,python另外一對比較好用的高階函式. Py
python中map函式
map函式形參為一個函式和一個迭代物件 給定一個列表,實現加1 L = [1, 2, 3, 4, 5] res = map(lambda x:x+1, L) print(list(res)) # 不使用map函式,實現的效果是一模一樣的 def add_test(x): return x+
Python高階函式: map reduce
———————— map ——————- map 是內建函式,不需要匯入模組 map(func,iterable) 引數1; 是每個元素需要執行的函式, 注意: 傳入的是函式名 該函式必須要傳入一個引數, 該函式必須有返回值 引
Python高階函式(map/reduce、filter、sorted)、返回函式、裝飾器、偏函式
高階函式: 首先我們先舉個例子,以Python內建函式abs()為例: >>> abs(-10) 10 >>> abs <built-in function abs> 我們可以看出abs(-10)是函式呼叫,而abs是函
Python中lambda表示式、reduce函式、map函式、zip函式
對Python這幾個常用的小函式做一個彙總學習,參考了一些資料,有不妥的地方請原諒。 1、lambda函式 lambda是Python的一個內建函式,但是比def簡單很多。lambda不同於其他函式,主體是一個表示式,在程式碼內部嵌入一個函式的定義。工程用的比較多的是程式
python中的map()函式和reduce()函式
map()函式的用法: map(函式function_name, 可迭代物件Iterable) map()函式接受兩個引數,一個是函式,一個是可迭代物件。map()函式將傳入的函式一次作用在序列的每一個元素,並把結果作為新的可迭代物件返回。 舉例說明,比
python中map()函式,filter()函式
一、map()是內建的高階函式,用於對變數內每個元素操作,不改變原變數的值,語法如下: map(function,list) 其中 function 是你要對 list 中每個元素操作的函式,list 是你要進行操作的可迭代的資料 (例如 列表,字串,) map