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()?
更快