本文主要是介绍py2 和 py3 使用map时的差别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python2中map结果返回的是List,一个列表,例如下图:
Python3中map结果返回是一个对象,例如下图:
Python3中map源码如下:
可以看出里面是有一个迭代器的,我们使用的时候需要用迭代器返回每个结果,或者直接list(map)强制转化为python2中实现的效果。
class map(object):"""map(func, *iterables) --> map objectMake an iterator that computes the function using arguments fromeach of the iterables. Stops when the shortest iterable is exhausted."""def __getattribute__(self, *args, **kwargs): # real signature unknown""" Return getattr(self, name). """passdef __init__(self, func, *iterables): # real signature unknown; restored from __doc__passdef __iter__(self, *args, **kwargs): # real signature unknown""" Implement iter(self). """pass
这篇关于py2 和 py3 使用map时的差别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!