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实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
Python对多属性的重复数据去重实例
Apr 18 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
对Python实现累加函数的方法详解
Jan 23 Python
python实现微信自动回复机器人功能
Jul 11 Python
利用Python实现kNN算法的代码
Aug 16 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
python跨文件使用全局变量的实现
Nov 17 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 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
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
JavaScript运行机制实例分析
2020/04/11 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
简单的python后台管理程序
2017/04/13 Python
python中的随机函数random的用法示例
2018/01/27 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python3实现点餐系统
2019/01/24 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Python datetime模块的使用示例
2021/02/02 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
住院医师规范化培训实施方案
2014/06/12 职场文书
设备技术员岗位职责
2015/04/11 职场文书
起诉意见书范文
2015/05/19 职场文书
MySQL导致索引失效的几种情况
2022/06/25 MySQL