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 相关文章推荐
python定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
对python中的xlsxwriter库简单分析
May 04 Python
Python3标准库总结
Feb 19 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
python中adb有什么功能
Jun 07 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php流量统计功能的实现代码
2012/09/29 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
js里的prototype使用示例
2010/11/19 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
详解Python中的正则表达式
2018/07/08 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
民政局办理协议离婚(范本)
2014/10/25 职场文书
遗嘱格式范本
2015/08/07 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers