为什么map(),filter()和zip()在python3中返回自定义对象?

时间:2017-03-17 19:03:19

标签: python python-3.x object filter mapping

python 3中有什么意义,他们改变map()返回一个地图对象,filter()返回一个过滤器对象,zip()返回一个zip对象,而不是python 2& #39; s list。

每次我使用这些功能时,我仍然将其用作list(map())将其更改回列表。虽然python 2已经是一个列表。新物品有什么特别之处吗?

zipped = zip([1,2,3],[3,2,1])
# what are you supposed to use a <zip object at 0x104316ec8> for??
zipped = list(zip([1,2,3],[3,2,1]))
# this is way more useful [(1, 3), (2, 2), (3, 1)]

当我检查新对象是否有新的方法,但没有...... D:他们所拥有的只有:

['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__',
 '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', 
'__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', 
'__sizeof__', '__str__', '__subclasshook__']

有人可以列出他们为什么这样做的所有原因以及不需要list()的新对象的使用?它比python 2的map(),filter()和zip()?

更快

0 个答案:

没有答案