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 相关文章推荐
使用python3+xlrd解析Excel的实例
May 04 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
python基础梳理(一)(推荐)
Apr 06 Python
Python基础学习之时间转换函数用法详解
Jun 18 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
Python datetime 如何处理时区信息
Sep 02 Python
python执行js代码的方法
May 13 Python
Django Paginator分页器的使用示例
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
php语言流程控制中的主动与被动
2012/11/05 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
2016/01/26 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
python实现FTP服务器服务的方法
2017/04/11 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python 调整图片亮度的示例
2020/12/03 Python
法国房车租赁网站:Yescapa
2019/08/26 全球购物
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python