python zip()函數用法詳解


  zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回一個zip對象,可以有這個對象生產這些元組組成的列表(可以使用list)。

下面用一個例子來解釋:

a=zip([1,2,3],['a','b','c']) 
print(a)          #<zip object at 0x02D1D4E0>  
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]

上面其實可以看出一個打包的過程,對應的就有解包的方法,用'*'操作符可以實現解包:

a=zip([1,2,3],['a','b','c'])
print(list(zip(*a)))    #    [(1, 2, 3), ('a', 'b', 'c')]

注意,zip返回的本質是一個生成器,如果利用list,或其他方法迭代后,生成器就是空的了。我們用上面的例子來說明這問題。

a=zip([1,2,3],['a','b','c'])
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]
print(list(a))      #[]   因為上面已經把生成器使用了

另外當傳入的兩個參數的長度不同是,按短的進行處理:

a=zip([1,2,3,4],['a','b','c'])
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM