使用Python將數(shù)組的元素導(dǎo)出到變量中(unpacking)
解決的問(wèn)題
需要將數(shù)組(list)或元組(tuple)中的元素導(dǎo)出到N個(gè)變量中。
解決的方案
任何序列都可以通過(guò)簡(jiǎn)單的變量賦值方式將其元素分配到對(duì)應(yīng)的變量中,唯一的要求就是變量的數(shù)量和結(jié)構(gòu)需要和序列中的結(jié)構(gòu)完全一致。
p = (1, 2) x, y = p # x = 1 # y = 2 data = ['google', 100.1, (2016, 5, 31)] name, price, date = data # name = 'google' # price = 100.1 # date = (2016, 5, 31) name, price, (year, month, day) = data # name = 'google' # price = 100.1 # year = 2016 # month = 5 # day = 31
如果變量結(jié)構(gòu)和元素結(jié)構(gòu)不一致,你將會(huì)遇到以下錯(cuò)誤:
p = (1, 2) x, y, z = p Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> x, y, z = p ValueError: not enough values to unpack (expected 3, got 2)
其實(shí)這樣的操作不限于元組和數(shù)組,在字符串中也是可以用的。Unpacking支持大多數(shù)我們常見(jiàn)的序列,比如文件迭代,各種生成器等等。
s = 'Hello' a,b,c,d,e = s # a = 'H' # b = 'e'
如果導(dǎo)出過(guò)程中你想丟掉一些元素,其實(shí)Python并不支持這樣的語(yǔ)法,不過(guò)你可以指定一些不常用的變量來(lái)達(dá)到你的目的。
data = ['google', 100.1, (2016, 5, 31)] name, _, (_,month,_) = data # name = 'google' # month = '5' # other fileds will be discarded
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
flask操作數(shù)據(jù)庫(kù)插件Flask-SQLAlchemy的使用
Python?中最廣泛使用的ORM框架是SQLAlchemy,它是一個(gè)很強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù)框架,本文就來(lái)介紹一下flask操作數(shù)據(jù)庫(kù)插件Flask-SQLAlchemy的使用,感興趣的可以了解一下2023-09-09詳解Python中的相對(duì)導(dǎo)入和絕對(duì)導(dǎo)入
絕對(duì)導(dǎo)入是指跳過(guò)包內(nèi),直接搜索 sys.path ,在sys.path的基礎(chǔ)上進(jìn)行我們的模塊搜索。相對(duì)導(dǎo)入是指先包內(nèi),再包外,再,,,那么下面這篇文章主要給大家介紹了Python中的相對(duì)導(dǎo)入和絕對(duì)導(dǎo)入,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01詳解Python中Pytest和Unittest的區(qū)別
Pytest?和?Unittest是Python中屬于最常用的兩個(gè)測(cè)試框架。那么他們有些什么區(qū)別呢??Playwright?為什么只給了Pytest的深度支持,而不是Unittest呢?本文就來(lái)和大家詳細(xì)聊聊2023-03-03如何將你的應(yīng)用遷移到Python3的三個(gè)步驟
這篇文章主要介紹了如何將你的應(yīng)用遷移到Python3的三個(gè)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12詳盡講述用Python的Django框架測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的教程
這篇文章主要介紹了詳盡講述用Python的Django框架測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的教程,主要使用TDD工具,全文介紹非常詳細(xì),需要的朋友可以參考下2015-04-04用Django寫(xiě)天氣預(yù)報(bào)查詢網(wǎng)站
今天小編就為大家分享一篇關(guān)于用Django寫(xiě)天氣預(yù)報(bào)查詢網(wǎng)站的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10