Python3学习笔记:zip/map/filter 遍历问题
2019-02-15 16:54
323 查看
在学zip的时候发现一个问题,下面这段代码:
list1 = [1, 2, 3] list2 = [4, 5, 6] zip1 = zip(list1, list2) for i in zip1: print(i) list3 = [i for i in zip1] print(list3)
执行结果如下
(1, 4)
(2, 5)
(3, 6)
[]
第二次遍历结果为空。
在网上查了一下,先把结论记下来:
在Python2里使用zip/map/filter时,返回值的类型与传入参数的值一致,传入列表,返回值也是列表,列表可以重复遍历;
而在Python3中,zip/map/filter返回的是zip/map/filter对象,是迭代器,只能被遍历一次。如果需要重复遍历。可以使用list()转换成列表。
相关文章推荐
- Python学习笔记(5):lambda,filter,map,reduce,zip用法整理
- python学习笔记-Day04-第三部分(内置函数,map,filter,reduce,yield)
- [Python学习笔记-002] lambda, map, filter and reduce
- Python学习笔记: Python3中map、filter、reduce函数
- python学习笔记:extend和apend;strip,split,filter,map
- python学习笔记,map/reduce,filter,sorted
- 初学Python的学习笔记5----map()/reduce()、filter()
- python学习笔记--zip()和map()
- Python-遍历-zip/map/filter/reduce
- python学习笔记(九)函数式进阶:使用map、reduce、filter、sorted
- python学习代码笔记(map,reduce,filter,sort,decorator,functools.partial)
- Python学习笔记(二)--解决中文的问题
- python中并行遍历:zip和map-转
- Python学习笔记:中文编码问题
- python学习笔记——多线程同步问题
- Python学习笔记-遍历文件
- 简明Python教程学习笔记_5_解决问题
- C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)
- python学习笔记——5_解决问题编写脚本
- [Python]Python学习笔记(八)——问题