介紹
zip()函數(shù)是Python的內(nèi)置函數(shù),將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的list(Python3為了節(jié)約內(nèi)存,zip()返回的是zip對象,需要通過list()手動轉(zhuǎn)換成列表)
如果zip()沒有可迭代的元素,則它將返回一個空的迭代器,如果每個迭代器的元素個數(shù)不一致,則返回的列表長度與最短的一致。
利用 * 號操作符,可以將元組解壓為列表。文章來源:http://www.zghlxwxcb.cn/news/detail-402173.html
語法
zip([iterable,…])文章來源地址http://www.zghlxwxcb.cn/news/detail-402173.html
代碼
1.zip()返回的是zip對象,可以通過list()轉(zhuǎn)換成list查看,也可以通過dict()轉(zhuǎn)換成字典查看
a = ["a","c","e","g"]
b = ["b","d","f","h"]
print("這是一個列表\n",list(zip(a,b))) #轉(zhuǎn)換成列表
print("這是一個字典\n",dict(zip(a,b))) #轉(zhuǎn)換成字典
這是一個列表
[('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h')]
這是一個字典
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}
2.每個迭代器的元素個數(shù)不一致,則返回的列表長度與最短的一致。
a = ["a","b","c","d"] #4個元素
b = [1,2,3,4,5,6,7] #7個元素
print(list(zip(a,b)))
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
3.zip()可以用for循環(huán)并行迭代
a = [1,2,3,4,5]
b = [5,4,3,2,6]
c = zip(a,b)
for a, b in c:
print(a,"*",b,"=",a*b)
1 * 5 = 5
2 * 4 = 8
3 * 3 = 9
4 * 2 = 8
5 * 6 = 30
4.與 zip 相反,zip(*) 可理解為解壓,返回二維矩陣式
a = [1,2,3,4,5]
b = ["d","b","e","r"]
c = zip(*(zip(a,b)))
print(list(c))
[(1, 2, 3, 4), ('d', 'b', 'e', 'r')]
到了這里,關(guān)于Python中zip函數(shù)的使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!