map函數是Python裏面比較重要的函數,設計靈感來自於函數式編程。Python官方文檔中是這樣解釋map函數的:html
map(function, iterable, …)編程
Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted.app
即map函數接收的第一個參數爲一個函數,能夠爲系統函數例如float、或者def定義的函數、或者lambda定義的函數都可。函數式編程
舉一個簡單的例子Axitrader返傭http://www.kaifx.cn/broker/ax...,下面這個例子在Python2.7下是能夠正常顯示的:函數
ls = [1,2,3]設計
rs = map(str, ls)htm
['1', '2', '3']ip
lt = [1, 2, 3, 4, 5, 6]文檔
def add(num):get
return num + 1
rs = map(add, lt)
print rs
可是在Python3下咱們輸入:
ls=[1,2,3]
rs=map(str,ls)
print(rs)
顯示的倒是:
而不是咱們想要的結果,這也是Python3下發生的一些新的變化,若是咱們想獲得須要的結果須要這樣寫:
ls=[1,2,3]
rs=map(str,ls)
print(list(rs))