zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple
,然后返回一个可迭代的zip对象.
这个可迭代对象可以使用循环的方式列出其元素
若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同.
用法1:用两个列表生成一个zip对象
例1:
>>> a1 = [ 1 , 2 , 3 ] >>> a2 = [ 4 , 5 , 6 ] >>> a3 = [ 7 , 8 , 9 ] >>> a4 = [ "a" , "b" , "c" , "d" ] >>> zip1 = zip (a1,a2,a3) >>> print (zip1) < zip object at 0x7f5a22651c08 > >>> for i in zip1: ... print (i) ... ( 1 , 4 , 7 ) ( 2 , 5 , 8 ) ( 3 , 6 , 9 ) |
例2:
>>> zip2 = zip (a1,a2,a4) >>> print (zip2) < zip object at 0x7f5a22651d48 > >>> for j in zip2: ... print (j) ... ( 1 , 4 , 'a' ) ( 2 , 5 , 'b' ) ( 3 , 6 , 'c' ) |
例3:
>>> zip3 = zip (a4) >>> print (zip3) < zip object at 0x7f5a22651d08 > >>> for i in zip3: ... print (i) ... ( 'a' ,) ( 'b' ,) ( 'c' ,) ( 'd' ,) |
例4:
>>> zip4 = zip ( * a4 * 3 ) >>> >>> print (zip4) < zip object at 0x7f5a22651f08 > >>> for j in zip4: ... print (j) ... ( 'a' , 'b' , 'c' , 'd' , 'a' , 'b' , 'c' , 'd' , 'a' , 'b' , 'c' , 'd' ) |
用法2:二维矩阵变换(矩阵的行列互换)
>>> l1 = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]] >>> print ([[j[i] for j in l1] for i in range ( len (l1[ 0 ])) ]) [[ 1 , 4 , 7 ], [ 2 , 5 , 8 ], [ 3 , 6 , 9 ]] >>> zip ( * l1) < zip object at 0x7f5a22651f88 > >>> for i in zip ( * l1): ... print (i) ... ( 1 , 4 , 7 ) ( 2 , 5 , 8 ) ( 3 , 6 , 9 ) |
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦