日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
python函數(shù)包解包 python的解包

python中zip函數(shù)有哪些高級(jí)用法

zip() ?功能是從參數(shù)的多個(gè)迭代器中選取元素組合成一個(gè)新的迭代器。顧名思義,它就是一個(gè)將對(duì)象進(jìn)行打包和解包的函數(shù)。

成都創(chuàng)新互聯(lián)公司是專業(yè)的源城網(wǎng)站建設(shè)公司,源城接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行源城網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

它可以傳入的參數(shù)包括;元組、列表、字典等迭代器

它返回一個(gè)zip對(duì)象,其內(nèi)部元素為元組,一組一組的,可以轉(zhuǎn)化為列表或元組,這里要強(qiáng)調(diào)一下,Python2和Python3中返回的zip對(duì)象有所不同。

Python3中zip()函數(shù)再不再返回list對(duì)象,但是可以通過(guò)list強(qiáng)行轉(zhuǎn)換。(類似的函數(shù)變化還有dictionary關(guān)聯(lián)的keys()、values()、items(),map(),filter())。

打包zip(iterables)

上面的代碼使用的環(huán)境是Python3.6,其中l(wèi)ist (z)操作就是強(qiáng)制轉(zhuǎn)換。注意一個(gè)問(wèn)題,a和b這兩個(gè)列表是不同長(zhǎng)短的,這時(shí)候zip函數(shù)就會(huì)匹配完最短的那個(gè)便結(jié)束。

當(dāng)zip函數(shù)的參數(shù)只有一個(gè)時(shí),它將從iterable中依次取一個(gè)元素,組成一個(gè)元組。

解包zip(*iterables)

解包,zip 相反,可理解為解壓,返回多維矩陣形式,有幾個(gè)組元素就返回幾維的。

比如,下面我是用三個(gè)列表組合起來(lái)的迭代式,那么解壓后就返回三維的矩陣

zip高級(jí)用法

講完了基本的再來(lái)說(shuō)一下該函數(shù)的高級(jí)用法。高級(jí)用法離不開(kāi)一個(gè)詞:Pythonic,就是將代碼寫(xiě)的更優(yōu)雅美觀,看起來(lái)有逼格!

1. 列表推導(dǎo)

例如:

a = [1,2,3,4]

b = [5,6,7,8]

我們要同時(shí)遍歷a、b,且要對(duì)它們進(jìn)行操作,那就要放在同一個(gè)for循環(huán)內(nèi),zip函數(shù)正好合適

注意:如果是Python2環(huán)境中,要使用izip才能提高效率。

當(dāng)然,如果你需要對(duì)下標(biāo)進(jìn)行操作,那么還需要加上enumerate函數(shù)

2. 使用zip創(chuàng)建鍵值對(duì),zip方法返回的是一個(gè)元組,用它來(lái)創(chuàng)建鍵值對(duì),簡(jiǎn)單明了。

Python序列解包

序列解包是Python特有的語(yǔ)法,它將一個(gè)序列(或任何可迭代對(duì)象)解開(kāi),并將得到的值存儲(chǔ)到一系列變量中。

一個(gè)有趣的例子是,利用序列解包實(shí)現(xiàn)交換兩個(gè)或多個(gè)變量的值:

一個(gè)常見(jiàn)的應(yīng)用場(chǎng)合:一個(gè)函數(shù)或方法返回一個(gè)元組(或序列多其他可迭代對(duì)象),這時(shí)可以直接使用一組變量承接返回值。例如把字典的 popitem 方法的返回值解包到key、value兩個(gè)便里中:

需要格外注意的是:解包的序列包含的元素個(gè)數(shù)必須與你在等號(hào)左邊列出的目標(biāo)個(gè)數(shù)相同,否則Python將引發(fā)異常。

然而一個(gè)方法或函數(shù)返回序列時(shí),其長(zhǎng)度通常是不可預(yù)測(cè)的,又或許我們只關(guān)系其中的某些值,這時(shí) 可以使用通配符( )來(lái)接收多余的值。*

qt中如何解包利用python 的struct.pack()函數(shù)打包的數(shù)據(jù)

在Python中使用struct模塊打包數(shù)據(jù)和在C/C++語(yǔ)言中定義一個(gè)結(jié)構(gòu)體(也是把多個(gè)成員打包到一塊)差不多。

只要客戶端告訴了你打包的數(shù)據(jù)的格式(比如:數(shù)據(jù)包的總長(zhǎng)度、數(shù)據(jù)包中各個(gè)數(shù)據(jù)域的長(zhǎng)度及類型,以及端序——大端還是小端),然后定義一個(gè)等價(jià)的C語(yǔ)言結(jié)構(gòu)體,并把接收到的數(shù)據(jù)放入一個(gè)這樣的結(jié)構(gòu)體變量(對(duì)象)中就完成了解包工作。然后,訪問(wèn)結(jié)構(gòu)體中的特定成員,就是訪問(wèn)傳送過(guò)來(lái)的特定數(shù)據(jù)了。

[小白自學(xué)python]如何理解與應(yīng)用裝包與解包?

您說(shuō)的裝包是用元組,解包是用比如a, b, c = test_list (假設(shè)test_list為[1, 2, 3])


網(wǎng)站名稱:python函數(shù)包解包 python的解包
文章出自:http://www.dlmjj.cn/article/dosjgpp.html