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提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
numpy自动生成数组详解
Dec 15 Python
python遍历一个目录,输出所有的文件名的实例
Apr 23 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
基于Python获取城市近7天天气预报
Nov 26 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
Django REST Swagger实现指定api参数
Jul 07 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
Flask处理Web表单的实现方法
Jan 31 Python
Django cookie和session的应用场景及如何使用
Apr 29 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
php预定义常量
2006/12/25 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
vue实现购物车案例
2020/05/30 Javascript
python的id()函数解密过程
2012/12/25 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
PHP如何调用MYSQL存储过程
2014/05/30 面试题
介绍一下常见的木马种类
2014/11/15 面试题
博士论文答辩开场白
2015/06/01 职场文书
2016年教师新年寄语
2015/08/18 职场文书
商业计划书范文
2019/04/24 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers