python中使用zip函数出现错误的原因


Posted in Python onSeptember 28, 2018

python中zip函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。概括起来一句话: zip函数返回的是一个列表,但是列表里面的元素是由一个个元组构成的..

在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动

  1. zip方法在Python 2 和Python 3中的不同
  2.  为何有这种不同
  3.  更多注解

问题一:zip方法在Python 2 和Python 3中的不同

Python 2 的代码演示:

$ python2
>>> a = zip((1, 2), (3, 4))
>>> a
[(1, 2), (3, 4)]

# 可以看到这里返回的是一个list

Python 3 的代码演示:

$ python3
>>> a = zip((1, 2), (3, 4))
>>> a
<zip object at 0x1007096c8>

# 可以看到这里返回的是一个对象,这里就是2和3的不同点 >>> dir(a) # 查看a的相关属性 [‘__class__', ‘__delattr__', ‘__dir__', ‘__doc__', ‘__eq__', ‘__format__', ‘__ge__', ‘__getattribute__' , ‘__gt__', ‘__hash__', ‘__init__', ‘__iter__', ‘__le__', ‘__lt__', ‘__ne__', ‘__new__', '__next__',  ‘__reduce__', ‘__reduce_ex__', ‘__repr__', ‘__setattr__', ‘__sizeof__', ‘__str__', ‘__subclasshook__' ] # 这里值得注意的是 ‘__iter__' 和 ‘__next__' 方法,说明a是一个支持遍历的对象 # 既然知道了a是一个支持遍历的对象,我们也就基本明白了a的用法了 ### 和Python2的区别(一):返回的是一个支持遍历的对象,而不是一个list本身 >>> for i in a: print i # in 方法 … (1, 3) (2, 4) >>> next(a) # 我们测试__next__方法 Traceback (most recent call last): File “<stdin>”, line 1, in <module> StopIteration # 说明next方法是支持的,但是这里也说明了对象只能遍历一次 >>> a = zip((1, 2), (3, 4)) # 这里需要重新赋值,因为这个对象只能遍历一次 >>> next(a) (1, 3) # 运行良好 ### 返回的对象支持遍历的操作

问题二:为何有这种不同

我想最重要的原因是节约了不少的内存吧。Python的运行效率和编译类型的语言自然是没法比,但是能优化就优化一点吧~谁不想有更高的追求呢。

问题三:更多注解

这个zip在不同版本的不同反应了python的一个演变:大部分返回list的函数不在返回list,而是返回一个支持遍历的对象,比如map、fiter之类的,基本的例子如下:

$ python3
>>> a = map(abs, [1, 2, -3])
>>> a
<map object at 0x100707ed0>
>>> list(a) # 如果不习惯,可以自己手动转化为list,也是写兼容代码需要注意的地方
[1, 2, 3]

$ python2
>>> a = map(abs, [1, 2, -3])
>>> a
[1, 2, 3]

所以运行方法是

>>> t=[‘name','age','gender']
>>> t2=[‘milo',30,'male']
>>> for each in zip(t,t2):
 print(each)

运行结果:

(‘name', ‘milo')
(‘age', 30)
(‘gender', ‘male')
for each in zip(t,t2):
 print(each)

总结

以上所述是小编给大家介绍的python中使用zip函数出现<zip object at 0x02A9E418>错误的原因,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
CentOS安装pillow报错的解决方法
Jan 27 Python
Python数据类型详解(三)元祖:tuple
May 08 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
一份python入门应该看的学习资料
Apr 11 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
Aug 26 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
python中的for循环
Sep 28 #Python
Django migrations 默认目录修改的方法教程
Sep 28 #Python
python数据结构之线性表的顺序存储结构
Sep 28 #Python
python实现顺序表的简单代码
Sep 28 #Python
linux安装Python3.4.2的操作方法
Sep 28 #Python
python求质数的3种方法
Sep 28 #Python
python数据结构学习之实现线性表的顺序
Sep 28 #Python
You might like
第六节 访问属性和方法 [6]
2006/10/09 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php返回json数据函数实例
2014/10/09 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
基于php编程规范(详解)
2017/08/17 PHP
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JavaScript Split()方法
2015/12/18 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
Python的Django框架中if标签的相关使用
2015/07/15 Python
打包发布Python模块的方法详解
2016/09/18 Python
python2 与python3的print区别小结
2018/01/16 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
通过shell+python实现企业微信预警
2019/03/07 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
2015年大学班主任工作总结
2015/04/30 职场文书
详解JVM系列之内存模型
2021/06/10 Javascript