zip函式
zip([seq1,seq2,...])
zip()是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中下標對應的元素打包成乙個個tuple(元組),然後返回由這些tuples組成的list(3.x版本返回乙個生成器)。若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。利用*號操作符,可以實現unzip(解壓),示例:
lista=[1,2,3]
listb=[2,5,7]
listc=[4,5,6,7,8]
zipab=zip(lista,listb)
print(zipab) # print(list(zipab)) # [(1, 2), (2, 5), (3, 7)]
zipac=zip(lista,listc)
print(list(zipac)) # [(1, 4), (2, 5), (3, 6)]
zipab=zip(lista,listb) # [(1, 2), (2, 5), (3, 7)]
unzipab=zip(*zipab)
print(unzipab) # print(list(unzipab)) # [(1, 2, 3), (2, 5, 7)]
map()
map(func,seq1[,seq2,...])
內建函式map()會將引數中除func之外的迭代器做類似於zip()的操作,即將每乙個seq中相同下標的元素組合起來,並將該組合傳遞給func,其中元素組合的組數以seq中長度最短的序列為基準,這一步具體的操作參見上面的zip(),map()最終返回乙個生成器。map()的常用操作如下:
當引數中除func外只有乙個seq時,func會作用於該seq的每乙個元素,並返回乙個生成器:
lista=['hilary','mike','vergil','tom','jerry']
listb=['aaaaa','bbbb','cccc','ddddd','fffff']
caplist=map(str.capitalize,lista) # 字串首字母大寫
print(caplist) # print(list(caplist)) # ['hilary', 'mike', 'vergil', 'tom', 'jerry']
print(list(map(str.upper,listb))) # ['aaaaa', 'bbbb', 'cccc', 'ddddd', 'fffff']
當引數中除func外包含多個seq時,func接受若干seq的zip()組合,並返回乙個生成器,此時需要注意func的引數個數與傳入的seq每乙個組合的元素個數的對應問題:
lista=[1,2,3]
listb=[4,5,6]
listc=[7,8,9,10]
def testfunc(x,y,z):
return x*100+y*10+z
def testfunc2(para):
return para**2
testres=map(testfunc,lista,listb,listc)
testres2=map(testfunc2,listc)
print(testres) # print(list(testres)) # [147, 258, 369]
print(testres2) # print(list(testres2)) # [49, 64, 81, 100]
testres3=map(testfunc2,listc,listb)
print(list(testres3)) # typeerror: testfunc2() takes 1 positional argument but 2 were given
Linux學習筆記 tar和zip命令》
linuxtar 命令詳解 tar cxtzjvfppn 檔案與目錄 引數 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視 tarfile 裡面的檔案!特別注意,在引數的下達中,c x t 僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 是...
python3學習筆記 zip 函式用法
與python2不同的是,zip傳入可迭代物件,將物件中對應的元素打包成乙個個tuple,返回zip物件。a 1,2,3 b 4,5,6 c a b c d a b zip a,b print a b zip物件是迭代器iterator,可以驗證一下 from collections import ...
Python學習系列之zip函式
目錄 一 zip函式 內建函式 1.1 定義 基本語法 引數說明 返回值 示例 1.2 處理列表 1.3 處理元組 1.4 處理字典 1.5 處理乙個引數和空列表 python 2 zip 函式用於將可迭代的物件 字典,列表,元組,集合,字串等 作為引數,將物件中對應的元素打包成乙個個元組,然後返回...