转载-Python3中map函数的问题

来源:互联网 发布:1100lu.us最新域名是啥 编辑:程序博客网 时间:2024/06/10 01:34
出处:http://blog.csdn.net/u010376788/article/details/48230257

Python3中map函数

在Python2中map函数会返回一个list列表,如代码:
[python] view plain copy
print?
  1. >>> def f(x, y): return (x, y)  
  2. >>> l1 = [ 0123456 ]  
  3. >>> l2 = [ ’Sun’‘Mon’‘Tue’‘Wed’‘Thu’‘Fri’‘Sat’ ]  
>>> def f(x, y): return (x, y)>>> l1 = [ 0, 1, 2, 3, 4, 5, 6 ]>>> l2 = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]

返回结果如下:
[python] view plain copy
print?
  1. >>> map(f, l1, l2)  
  2. [(0‘Sun’), (1‘Mon’), (2‘Tue’), (3‘Wed’), (4‘Thu’), (5‘Fri’), (6‘Sat’)]  
>>> map(f, l1, l2)[(0, 'Sun'), (1, 'Mon'), (2, 'Tue'), (3, 'Wed'), (4, 'Thu'), (5, 'Fri'), (6, 'Sat')]

但是,在Python3中返回结果如下:
[python] view plain copy
print?
  1. >>> map(f1, l1, l2)  
  2. <map object at 0x00000000021DA860>  
>>> map(f1, l1, l2)<map object at 0x00000000021DA860>

如果想要得到Python2的那种结果,即返回list列表,那么必须用list作用于map,如下:
[python] view plain copy
print?
  1. >>> list(map(f1, l1, l2))  
  2. [(0‘Sun’), (1‘Mon’), (2‘Tue’), (3‘Wed’), (4‘Thu’), (5‘Fri’), (6‘Sat’)]  
>>> list(map(f1, l1, l2))[(0, 'Sun'), (1, 'Mon'), (2, 'Tue'), (3, 'Wed'), (4, 'Thu'), (5, 'Fri'), (6, 'Sat')]


                </div>