您的位置:首页 > 编程语言 > Python开发

python常见面试问题

2016-03-15 21:34 435 查看
1、那些对象是可迭代的?怎样实现迭代协议?

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

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

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

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

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

res=range(1,6)

RES=iter(res)

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

后续补充中……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: