频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
python中zip()函数解析
2018-09-29 14:21:19      个评论      
收藏   我要投稿

描述

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

实例

例1:

>>>a = [1,2,3]

>>> b = [4,5,6]

>>> c = [4,5,6,7,8]

>>> zipped = zip(a,b) # 打包为元组的列表

[(1, 4), (2, 5), (3, 6)]

>>> zip(a,c) # 元素个数与最短的列表一致

[(1, 4), (2, 5), (3, 6)]

>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式

[(1, 2, 3), (4, 5, 6)]

例2:

# -*- coding: UTF-8 -*-

l = ['a', 'b', 'c', 'd', 'e','f']

print l

#打印列表

print zip(l[:-1],l[1:])

输出结果:

['a', 'b', 'c', 'd', 'e', 'f']

[('a', 'b'), ('b', 'c'), ('c', 'd'), ('d', 'e'), ('e', 'f')]

例3:

nums = ['flower','flow','flight']

for i in zip(*nums):

print(i)

输出结果:

('f', 'f', 'f')

('l', 'l', 'l')

('o', 'o', 'i')

('w', 'w', 'g')

点击复制链接 与好友分享!回本站首页
上一篇:正向代理和反向代理的区别解析
下一篇:netty设计模式-迭代器模式解析
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站