Python3中map函數的問題


在Python2中map函數會返回一個list列表,如代碼:

>>> def f(x, y): return (x, y)  
>>> l1 = [ 0, 1, 2, 3, 4, 5, 6 ]  
>>> l2 = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ] 

返回結果如下:

>>> map(f, l1, l2)  
[(0, 'Sun'), (1, 'Mon'), (2, 'Tue'), (3, 'Wed'), (4, 'Thu'), (5, 'Fri'), (6, 'Sat')]

但是,在Python3中返回結果如下:

>>> map(f1, l1, l2)  
<map object at 0x00000000021DA860>  

如果想要得到Python2的那種結果,即返回list列表,那么必須用list作用於map,如下:

>>> list(map(f1, l1, l2))  
[(0, 'Sun'), (1, 'Mon'), (2, 'Tue'), (3, 'Wed'), (4, 'Thu'), (5, 'Fri'), (6, 'Sat')] 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM