map()會根據提供的函式對指定序列做對映。
第乙個引數function
以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。
map
(function, iterable,..
.)
引數說明:
function:函式
iterable:乙個或多個序列/可迭代物件
原始碼內容
class
map(
object):
""" map(func, *iterables) --> map object
make an iterator that computes the function using arguments from
each of the iterables. stops when the shortest iterable is exhausted.
"""def__getattribute__
(self,
*args,
**kwargs)
:# real signature unknown
""" return getattr(self, name). """
pass
def__init__
(self, func,
*iterables)
:# real signature unknown; restored from __doc__
pass
def__iter__
(self,
*args,
**kwargs)
:# real signature unknown
""" implement iter(self). """
pass
@staticmethod
# known case of __new__
def__new__
(*args,
**kwargs)
:# real signature unknown
""" create and return a new object. see help(type) for accurate signature. """
pass
def__next__
(self,
*args,
**kwargs)
:# real signature unknown
""" implement next(self). """
pass
def__reduce__
(self,
*args,
**kwargs)
:# real signature unknown
""" return state information for pickling. """
pass
# 1.計算列表裡所有元素的平方
defsquare
(x):
return x**
2ret01 =
map(square,[1
,2,3
])print
(ret01)
# ;py3.x返回迭代器
for i in ret01:
print
(i)'''14
9'''
# 2.lambda函式實現以上功能
ret02 =
map(
lambda x:x**2,
[1,2
,3])
lst02 =
[i for i in ret02]
# 通過列表推導式
print
(lst02)
# [1, 4, 9]
# 3.引數中多個迭代器的情況
ret03 =
map(
lambda x,y:x+y,[1
,2,3
],[2
,3,4
])lst03 =
[item for item in ret03]
print
(lst03)
# [3, 5, 7]
# 3.多個迭代器中元素個數不同時
# 會從左到右,以最短為準,取完為止
ret04 =
map(
lambda x,y:x+y,[2
,3,4
],[2
,3,4
,5])
lst04 =
[item for item in ret04]
print
(lst04)
# [4, 6, 8]
Python內建函式 map 函式
目錄 python內建函式 map 函式 語法 描述 例子map function,iterable,引數function 是乙個函式 引數iterable 是乙個或多個序列,不一定是list,只要是可迭代物件就可以。map 函式,它接收乙個函式和乙個 也可以說多個 list 不用非得是list,只...
python 內建函式map
map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。下圖可以說明 對應下面的 def f x return x x print map f,1,2,3,4,5,6,7,8,...
python 內建函式map
map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。下圖可以說明 對應下面的 def f x return x x print map f,1,2,3,4,5,6,7,8,...