零基础学python-13.5 多迭代器vs单迭代器
来源:互联网 发布:小鲜肉知乎 编辑:程序博客网 时间:2024/06/05 02:13
对于序列对象来说,有的支持多迭代器,有的只支持单迭代器,那么下面,我们就来看两个例子
1.range,支持多迭代器
>>> r=range(5)>>> Iter1=iter(r)>>> Iter2=iter(r)>>> next(Iter1)0>>> next(Iter2)0>>> next(Iter1)1>>> next(Iter2)1>>>
从代码清单可以看出,range支持多迭代器,迭代器之间不会相互影响
2.map、zip、filter指支持单迭代器,不支持相同结果的迭代器,我们下面以zip为例
>>> z=zip([1,2,3],[5,6,7])>>> Iter1=iter(z)>>> Iter2=iter(z)>>> next(Iter1)(1, 5)>>> next(Iter2)(2, 6)>>> next(Iter1)(3, 7)
从代码清单可以看出,由zip组合成的并列序列,虽然建立两个不同的迭代器,但是其实两个迭代器是指向同一个对象,这个是python内部优化的,我们看看下面的代码就明白的
>>> z=zip([1,2,3],[5,6,7])>>> Iter1=iter(z)>>> Iter2=iter(z)>>> Iter1 is Iter2True>>>
两个不同名称的迭代器同是指向一个对象。
总结,这一章节我们主要介绍了range的多迭代器的支持,还有以zip为例子简单说明单迭代器
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
点击跳转零基础学python-目录
0 0
- 零基础学python-13.5 多迭代器vs单迭代器
- 零基础 学Python
- 零基础学python(一)
- 零基础学python(二)
- 零基础学python(三)
- 零基础学python(四)
- 零基础学python(五)
- 零基础学python(六)
- 零基础学python(七)
- 零基础学python(八)
- 零基础学python-目录
- 《零基础学python》习题
- python零基础学起
- 零基础学Python笔记
- 零基础学python-15.4 函数的多态vs对象的多态
- 零基础学python-18.3 递归函数vs循环和递归处理任意结构
- [零基础学python]python开发框架
- [零基础学python]python开发框架
- Axure与markman
- 推荐一篇关于java集合的博文,写的很nice
- 认识wxWidgets2
- 安卓中的this与super
- VS2010 debug output not showing up in DbgView
- 零基础学python-13.5 多迭代器vs单迭代器
- Uva 12549 Sentry Robots 网络流 - 二分图匹配
- zTree异步加载otherParam定义的静态参数(非写死的值)不起作用
- iCheat IC 使用教程
- UI线程阻塞及优化
- ARM linux内核启动时几个关键地址
- 2015-09-09
- RSA加密算法
- 信号量 互斥锁 条件变量的区别