博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 迭代的理解
阅读量:6220 次
发布时间:2019-06-21

本文共 1445 字,大约阅读时间需要 4 分钟。

hot3.png

问题    1.python中大量引用迭代,那迭代究竟什么意思?    2.循环和迭代有何区别?
解决:    1.迭代就是在可迭代对象中按一定的次序依次访问(例如 for 从左至右)    2.循环 有终止判断条件      迭代 也有终止条件,不过要依次迭代完所有
L = range(2)for i in L:    print(i,end=' ')   #加逗号,那是python2.7的用法使 结果输出:print在一行显示# python3 中使用内置参数end = ‘ ’
0 1
# 官方iter()解释 https://docs.python.org/3/library/functions.html?highlight=iter#ite# 产生一个iterator  --------->默认有__next__()方法list_iter = iter(L)
list_iter.__next__()
0
list_iter.__next__()
1
list_iter.__next__()  # 误 慌  -----此为警告StopIteration  对就是警告# 停止迭代
---------------------------------------------------------------------------StopIteration                             Traceback (most recent call last)
in
()----> 1 list_iter.__next__() 2 # 误 慌 -----此为警告StopIteration 对就是警告 3 # 停止迭代StopIteration:
综上:    1.用inter()产生一个可迭代的对象    2.iterator默认有__next__方法    3.__next__相当于指针,每次调用完,指向下一个位置    4.直至指向末尾,弹出StopIteration的警告    5.要想指针从头开始,必须重新载入新的迭代对象
hello 文件1.Hello file world2.WELCOME TO MYWORLD
# 迭代的对象--文件最能凸显问题f = open('/home/odoo/Desktop/hello')
f.__next__()
'1.Hello file world\n'
# 这里注意哟 文件指针已经指向第二行了----陷阱# 要想指针从头开始,必须重新载入新的迭代对象for i in f:    print(i)
2.WELCOME TO MYWORLD
感悟:    1.for循环其实内置__next__方法,只是python帮助我们提前完成了这项工作    2.最重要的一点还剔除了 警告StopIteration  ---哈哈哈
# 列表解析式也能成为迭代器?[i for i in open('/home/odoo/Desktop/hello')]# 列表解析式  真美妙---太帅了
['1.Hello file world\n', '2.WELCOME TO MYWORLD\n', '\n', '\n']
 

转载于:https://my.oschina.net/pythonnnn/blog/652203

你可能感兴趣的文章
简单的服务端口检测及报警
查看>>
windows 2008 无法设置IP问题
查看>>
phpstorm的swoole代码提示安装
查看>>
make与makefile
查看>>
我的友情链接
查看>>
敏捷开发思想及Scrum实践
查看>>
几套好用的主题
查看>>
linux下文件删除的原理
查看>>
系统安全
查看>>
多生成树协议MSTP
查看>>
解决奇葩的win7文件不能拖动问题
查看>>
linux网络属性管理总结
查看>>
2015/03/23 磁盘管理
查看>>
2015/03/25 LVM(逻辑卷组管理)
查看>>
好玩的三角型
查看>>
自动化中图像识别
查看>>
mongoDB之用户及权限设置
查看>>
eclipse无法导入项目解决方法
查看>>
svn 的一些坑
查看>>
mycat核心配置详解(rule.xml配置,以及常用分片算法)
查看>>