zip() 函式用於將可迭代物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件。
如果各個可迭代物件的元素個數不一致,則返回的物件長度與最短的可迭代物件相同。
利用 * 號操作符,與zip相反,進行解壓。
zip(iterable1,iterable2, ...)
iterable是可迭代的物件,如字串、列表、元祖、字典
解壓用法:
'''假設arr是乙個10行兩列的矩陣'''
import numpy as np
arr = np.ones((10,2))
a,b = zip(*arr)
'''此時a,b均為包含10個元素的列表'''
注:python2中直接返回乙個由元組組成的列表,python3中返回的是乙個物件,如果想要得到列表,可以用 list() 函式進行轉換
python3中
>>> a = [1,2,3] #此處可迭代物件為列表
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
>>> zipped
#返回的是乙個物件
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)] #使用list()函式轉換為列表
>>> list(zip(a,c))
[(1, 4), (2, 5), (3, 6)]
>>> zipped = zip(a,b)
>>> list(zip(*zipped)) #解壓也使用list進行轉換
[(1, 2, 3), (4, 5, 6)]
python2中
>>>a = [1,2,3] #此處可迭代物件為列表
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包為元組的列表
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素個數與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 與 zip 相反,可理解為解壓
[(1, 2, 3), (4, 5, 6)]
最最重要的用法,與for迴圈搭配用來同時取多個迭代器中同一位置的數:
list1 = [2,3,4]
list2 = [4,5,6]
for x,y in zip(list1,list2):
print(x,y,'--',x*y)
結果:
Python壓縮解壓zip檔案
import os import shutil import zipfile from os.path import join,getsize一 python壓縮指定資料夾def zip file src dir zip name src dir zip z zipfile.zipfile zip ...
Python讀寫zip壓縮檔案
python自帶模組zipfile可以完成zip壓縮檔案的讀寫,而且使用非常方便,下面我們就來演示一下python讀寫zip檔案。下面的 給出了用python讀取zip檔案,列印出壓縮檔案裡面所有的檔案,並讀取壓縮檔案中的第乙個檔案。import zipfile z zipfile zipfile ...
zip 加密壓縮
zip p 123456 test.zip test.txt p 123456 是加密密碼 test.zip 是生成的壓縮檔案 test.txt 是被壓縮的檔案 zip 引數 壓縮包 原始檔 使用zip格式打包檔案 r 遞迴,將指定目錄下的所有檔案和子目錄一併處理 s 包含系統和隱藏檔案 y 直接儲...