1、哪些对象是可迭代的?怎样实现迭代协议?
答:(1)实现了迭代协议的对象都可以迭代,如元组、列表、字典表等
(2)对象中包含内置的next()和__next__()函数,如果迭代对象没有内置他们,我们可以使用iter()手动添加
(3)使用next()或者__next__()的优点是如果返回的列表比较大时它不占内存空间,而遍历列表则占内存空间。
原因:next()方法是获取下一个元素的地址,即改变指针,而列表遍历则是全部显示出现!
举例说明手动添加的情况:
res=range(1,6)
RES=iter(res)
RES.next() #回车,直到下一个地址为空时,抛出异常,并停止
后续补充中……
标签:__,迭代,--,RES,内存空间,next,面试,python,列表 From: https://blog.51cto.com/u_13966077/5819852