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() #回车,直到下一个地址为空时,抛出异常,并停止
后续补充中……
答:(1)实现了迭代协议的对象都可以迭代,如元组、列表、字典表等
(2)对象中包含内置的next()和__next__()函数,如果迭代对象没有内置他们,我们可以使用iter()手动添加
(3)使用next()或者__next__()的优点是如果返回的列表比较大时它不占内存空间,而遍历列表则占内存空间。
原因:next()方法是获取下一个元素的地址,即改变指针,而列表遍历则是全部显示出现!
举例说明手动添加的情况:
res=range(1,6)
RES=iter(res)
RES.next() #回车,直到下一个地址为空时,抛出异常,并停止
后续补充中……
相关文章推荐
- Python设计模式(10)-模板模式
- python图片转字符
- python学习4 常用内置模块
- PythonChallenge Mission 11
- Python ImportError: No module named XXX
- python中import失败解决的简单办法
- Python错误处理
- 一行 Python 实现并行化 -- 日常多线程操作的新思路 - 左手键盘,右手书 - SegmentFault
- python from multiprocessing import Pool,Process,Value,Array,Manager
- EigenFace的使用 python
- python 之socket语法及相关
- Type 3字体的解决办法
- Python琐碎知识总结
- 中文维基百科上的word2vec实验,python及java版本
- Python3缩进对逻辑的影响
- Python3缩进对逻辑的影响
- Python正则表达式,re模块
- OpenGL with PyOpenGL Python and PyGame p.4-Moving the player automatically towards the cube
- Python——编写函数装饰器
- python execfile()和locals()函数