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实现类继承实例
Jul 04 Python
用Python进行行为驱动开发的入门教程
Apr 23 Python
简述Python中的面向对象编程的概念
Apr 27 Python
TensorFlow损失函数专题详解
Apr 26 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
django中使用POST方法获取POST数据
Aug 20 Python
在python中做正态性检验示例
Dec 09 Python
pytorch中图像的数据格式实例
Feb 11 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
几款Python编译器比较与推荐(小结)
Oct 15 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 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 验证码实例代码
2010/06/01 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
js中int和string数据类型互相转化实例
2019/01/16 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python程序中设置HTTP代理
2016/11/06 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
Python绘制组合图的示例
2020/09/18 Python
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
市场营销专业推荐信
2013/11/03 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
golang定时器
2022/04/14 Golang