python3版本中的zip函数

本文详细介绍了Python中zip()函数的使用方法,包括如何将多个列表组合为元组列表、处理不同长度的输入序列以及如何在for循环中实现并行迭代。通过实例展示了zip()函数的强大功能。

例如,有两个列表:

1
2
>>>a = [1,2,3]
>>>b = [4,5,6]

使用zip()函数来可以把列表合并,并创建一个元组对的列表。

1
2
>>>zip(a,b)
[(1, 4), (2, 5), (3, 6)]<br><br><span style="color: #ff0000;"><strong>#注意在Python3.4版本中,显示<br></strong></span>

>>> zip(a,b)
<zip object at 0x01FB2E90>

如果要显示出结果,必须用list函数

1
在python 3.0zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果
1
2
list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]

zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。

1
2
3
4
5
6
7
8
9
>>> l1,l2,l3 = (1,2,3),(4,5,6),(7,8,9)
>>> list(zip(l1,l2,l3))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
 
 
>>> str1 = 'abc'
>>> str2 = 'def123'
>>> zip(str1,str2)
[('a', 'd'), ('b', 'e'), ('c', 'f')]

搭配for循环,支持并行迭代操作方法

zip()方法用在for循环中,就会支持并行迭代:

1
2
3
4
5
6
7
8
9
l1 = [2,3,4]
l2 = [4,5,6]
 
for (x,y) in zip(l1,l2):
    (print x,y,'--',x*y)
 
2 4 -- 8
3 5 -- 15
4 6 -- 24

转载于:https://www.cnblogs.com/hdk1993/p/8045003.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值