[面试]-- python常见面试问题

1、哪些对象是可迭代的?怎样实现迭代协议?

答:(1)实现了迭代协议的对象都可以迭代,如元组、列表、字典表等

        (2)对象中包含内置的next()和__next__()函数,如果迭代对象没有内置他们,我们可以使用iter()手动添加

        (3)使用next()或者__next__()的优点是如果返回的列表比较大时它不占内存空间,而遍历列表则占内存空间。

             原因:next()方法是获取下一个元素的地址,即改变指针,而列表遍历则是全部显示出现!

举例说明手动添加的情况:

  res=range(1,6)

  RES=iter(res)

RES.next()  #回车,直到下一个地址为空时,抛出异常,并停止

 

后续补充中……

点赞