Python 并行遍历zip()函数使用方法

今天我们要讲主题是python并行遍历zip()函数使用方法。在讲range()函数使用方法时我们知道了,range()可以在for循环中是以非完备的方式遍历序列,那么zip()并行遍历又是怎么工作的呢?它和python遍历元祖有什么样的不同呢,下面一起来看下。

zip()函数在运算时,会以一个或多个序列做为参数,返回一个元组的列表。同时将这些序列中并排的元素配对。

zip()基本操作方法

例如,有两个列表:

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

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

?
1
2
zip (a,b)
[( 1 , 4 ), ( 2 , 5 ), ( 3 , 6 )]

在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个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 )
>>> 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

其实它的工作原理就是使用了zip()的结果,在for循环里解包zip结果中的元组,用元组赋值运算。就好像(x,y)=(2,6),赋值、序列解包操作。在对文件的操作中我们也会用到遍历,例如Python遍历文件夹目录与文件操作,就是很方便实用的。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值