python壓縮函式 zip

2021-09-18 06:46:38 字數 1540 閱讀 8302

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 直接儲...