之前一直認(rèn)為zip只有壓縮的功能瓷式,其實(shí)zip也存在解壓的功能。下面就用一個(gè)簡(jiǎn)單的例子進(jìn)行介紹责球。
zip實(shí)例圖.png
由圖中可見(jiàn)焦履,針對(duì)不同的列表a拓劝,b,zip操作其實(shí)是獲取其中各自對(duì)應(yīng)的元素嘉裤,并且組合起來(lái)成為一個(gè)元組(例如:a的第一個(gè)和b的第一個(gè)郑临;a的第二個(gè)和b的第二個(gè))。在a和c的例子中可以發(fā)現(xiàn)zip會(huì)取兩者中個(gè)數(shù)最少的元素作為它們的集合(例如:c的長(zhǎng)度是4但是最后的結(jié)果中只有3個(gè))
這里最特別的是針對(duì)*zip(a,b)的操作屑宠,在這里*zipped 可理解為解壓厢洞,取每個(gè)元素中對(duì)應(yīng)位置上值恢復(fù)成原來(lái)壓縮前的樣子,只是這里類型由list變?yōu)榱藅uple
注意:在python3中要對(duì)zip對(duì)象添加list操作后才會(huì)顯示典奉,否則顯示的是一個(gè)對(duì)象躺翻。而且經(jīng)過(guò)list操作轉(zhuǎn)化過(guò)后該對(duì)象也無(wú)法被反解壓。
list(zip(*zipped))
這樣的操作在這里是無(wú)效的卫玖,因?yàn)橹白鲞^(guò)了list(zipped)
的操作公你。