對於一些分解後的元素,我們也是有重新歸類的需要。那麼我們把解包的恢復過程,叫做壓包。這裡要用到zip函式的方法,對元素重新進行打包處理,在之前的學習中我們已經對zip函式有所接觸。下面我們就python壓包的概念方法進行介紹,然後帶來相關的例項使用。
壓包是解包的逆過程,用zip函式實現。
(1)zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件(python3)。
(2)如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用*號操作符,可以將元組解壓為列表。
先是zip函式將a b壓包成為乙個可迭代物件,對可迭代物件的每乙個元素((『a', 1))進行解包(i, j = (『a', 1)),此時就可以分別呼叫i j變數進行計算。
>>> a = [0, 1, 2]
>>> b = [1, 2, 3]
>>> for i, 程式設計客棧j in zip(a, b):
... print(i+j)
...1
35知識點擴充套件
1.python--gzip壓縮zip檔案:
import gzip
f_src = open("data.txt", "rb") #開啟檔案
f_tar= gzip.open("data.txt.gz", "wb")#建立壓縮檔案物件
f_tar.writelines(f_src)
f_tar.close()
f_src.close()
import gzip
g = gzip.gzipfile(filename="", mode="wb", compresslevel=9, fileobj=open('sitemap.log.gz', 'wb'))
g.write(open('d:\\test\\sitemap.xml').read())
g.close()
其中,filename引數是壓縮檔案內檔案的名字,為空也可以,不修改。fileobj是生成的壓縮檔案物件,它的路徑名稱等。最後是把檔案寫入gzip檔案中去,再關閉操作連線。
2.python--gzip解壓zip檔案:
import gzip
f = gzip.open("data.txt.gz", 'rb') #開啟壓縮檔案物件
f_out=open("data.txt","w") #開啟解壓後內容儲存的檔案
file_content = f.read() #讀取解壓後檔案內容
f_out.write(file_content.decode("utf-8")) #寫入新檔案當中
print(file_content) #列印讀取內容
f.close()
f_ou程式設計客棧t.close()
g = gzip.gzipfi"rb", fileobj=open('d:\\test\\sitemap.log.gz', 'rb'))
open(r"d:\\haha.xml", "wb").write(g.read())
使用的時候注意,函式方法的大小寫一點要看仔細,如果gzip檔案是這種形式的:*.tar.gz,證明先是由tar命令壓縮後,後再由 gzip壓縮的,需要先用解壓縮tar檔案,再用gzip模組解壓縮。其實,現在很多網頁為了提高瀏覽器端使用者的訪問速度,和搜尋引擎爬蟲抓取的速度,都在使用gzip壓縮。
陣列的概念及例項
陣列的概念及例項 一 什麼是陣列?應該如何宣告。陣列是記憶體中一片連續的儲存空間。宣告陣列有兩種方式 1 通過字面量的方式宣告陣列 例 var a 10,20,30,40,50,60 宣告乙個陣列,該陣列的名稱為a,該陣列共有6個陣列元素。2 通過陣列的 建構函式 宣告陣列 var b new ar...
python模組內建屬性概念及例項
我們在講模組的時候,有些人看到了內建屬性,就把它們當做函式,其實還是有區別的,這裡需要為大家進行明確。我們所看到的函式兩邊帶有雙下劃線,這是python模組中內建屬性的體現。下面我們就內建屬性進性說明,並列出幾種內建屬性的方法,最後帶來例項供大家體會。一種匯入的方法,可以使用 import 直接把模...
Python類 模組 包的概念及區別
類 類的概念在許多語言 現,是物件導向程式設計的基礎,很容易理解。抽象出不同物體的共同特徵,根據相似性原則,把彼此相似的物體歸於相同的類概念,它將資料和操作進行封裝,以便將來的復用。模組模組,在python中乙個檔案就可以認為是乙個模組。在建立了乙個指令碼檔案後,定義了某些函式和變數。你在其他需要這...