【Python 学习笔记】关于 Iterator
2017-08-01 04:15
274 查看
Iterator 是 “迭代器” 的意思,Iterator 与 “Iterable 对象” 不同。
从字面上理解,“迭代器” 与 “可迭代对象” 当然不同。从性质上理解,Iterable 实际上是一个惰性序列,需要用 next() 来计算序列的下一个内容,也可以使用 for 循环遍历(如果有界的话);而 “Iterable 对象” 是诸如 list 、dict 、str 等可以使用 for 遍历而不能用 next() 计算的对象。
其中,Iterator 是 “Iterable 对象”,而 “Iterable 对象” 不一定都是 Iterator 。
Iterator 还可以使用 list() 把整个序列都计算出来,并返回一个list。一般在处理一些函数的return时使用,因为有的函数的 return 是一个 Iterator。
有的函数的 return 是一个 Iterator,比如: map( , ) 和 filter( , )
但 reduce( , ) 函数的返回结果就是一个 list,所以当 map 和 reduce 一起使用时,要注意它俩的返回结果需要做不同的处理。
从字面上理解,“迭代器” 与 “可迭代对象” 当然不同。从性质上理解,Iterable 实际上是一个惰性序列,需要用 next() 来计算序列的下一个内容,也可以使用 for 循环遍历(如果有界的话);而 “Iterable 对象” 是诸如 list 、dict 、str 等可以使用 for 遍历而不能用 next() 计算的对象。
其中,Iterator 是 “Iterable 对象”,而 “Iterable 对象” 不一定都是 Iterator 。
Iterator 还可以使用 list() 把整个序列都计算出来,并返回一个list。一般在处理一些函数的return时使用,因为有的函数的 return 是一个 Iterator。
有的函数的 return 是一个 Iterator,比如: map( , ) 和 filter( , )
但 reduce( , ) 函数的返回结果就是一个 list,所以当 map 和 reduce 一起使用时,要注意它俩的返回结果需要做不同的处理。
相关文章推荐
- 【python学习笔记】关于sys.path与pythonpath
- python笔记(1)-关于我们应不应该继续学习
- Python面向对象编程中关于类和方法的学习笔记
- Go学习笔记:关于Java、Python、Go编程思想的不同
- java学习笔记(六):关于iterator.next()
- Python学习笔记 - 迭代器Iterator
- python学习笔记 --- 关于urllib2
- Python的学习笔记DAY10---关于正则表达式
- Python学习笔记:iterator和iterable
- Python学习笔记(10)-生成器generator和迭代器Iterator
- STL学习笔记,关于iterator的实现细节
- Python的学习笔记DAY7---关于爬虫(2)之Scrapy初探
- python学习笔记 ---- 关于URLError和HTTPError
- [python]学习笔记4-关于列表去重练习
- python学习笔记(一)——关于正则表达式的学习小结
- Python笔记1--关于序列的学习
- python学习笔记 --- 关于openers和handlers
- Python学习笔记--关于split的分割问题
- 【Python学习笔记】关于if __name__ == '__main__'