zip即將多個可迭代對象組合為一個可迭代的對象,每次組合時都取出對應(yīng)順序的對象元素組合為元組,直到最少的對象中元素全部被組合,剩余的其他對象中未被組合的元素將被舍棄。
keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) print(list(d))
示例結(jié)果:
[('one', 1), ('two', 2), ('three', 3)]
可以看到我們由 zip 模擬了一個類似字典的一一對應(yīng)的元組迭代對象,并將其轉(zhuǎn)化為 list 類型查看,當(dāng)然我們可以利用獲取迭代對象生成真正的鍵值字典:
keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) D = {} for key, value in d: print(key, value) D[key] = value print(D)
示例結(jié)果:
one 1
two 2
three 3
{'one': 1, 'two': 2, 'three': 3}
我們可以利用for循環(huán)迭代賦值給字典完成對應(yīng)的鍵值映射,在Python3中我們還可以用一句話就可以完成 D = dict(zip(keys,values)) .
*zip
當(dāng)我們想回退為迭代器組合之前的狀態(tài)時,我們可以利用 * “解壓”現(xiàn)在“壓縮”過的新的迭代對象
keys = ['one', 'two', 'three', 'four'] values = [1, 2, 3] d = zip(keys, values) older = zip(*d) print(list(older))
“解壓”結(jié)果:
[('one', 'two', 'three'), (1, 2, 3)]
PS:Python3:zip()和*zip()函數(shù)
描述
- zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組
- *zip() 和zip()配合使用,具體看下面示例
Showing code by screenshot ~~
1. zip()
2. *zip()
總結(jié)
以上所述是小編給大家介紹的Python3 對象組合zip()和回退方式*zip,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
