使用Python將數(shù)組的元素導(dǎo)出到變量中(unpacking)
解決的問題
需要將數(shù)組(list)或元組(tuple)中的元素導(dǎo)出到N個變量中。
解決的方案
任何序列都可以通過簡單的變量賦值方式將其元素分配到對應(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)不一致,你將會遇到以下錯誤:
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ù)組,在字符串中也是可以用的。Unpacking支持大多數(shù)我們常見的序列,比如文件迭代,各種生成器等等。
s = 'Hello' a,b,c,d,e = s # a = 'H' # b = 'e'
如果導(dǎo)出過程中你想丟掉一些元素,其實Python并不支持這樣的語法,不過你可以指定一些不常用的變量來達到你的目的。
data = ['google', 100.1, (2016, 5, 31)] name, _, (_,month,_) = data # name = 'google' # month = '5' # other fileds will be discarded
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
pyecharts動態(tài)軌跡圖的實現(xiàn)示例
這篇文章主要介紹了pyecharts動態(tài)軌跡圖的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Pytest執(zhí)行unittest TestSuite(測試套件)的實現(xiàn)方法
TestSuite一直是unittest的靈活與精髓之處,在繁多的測試用例中,可以任意挑選和組合各種用例集,這篇文章主要介紹了Pytest執(zhí)行unittest TestSuite(測試套件)的實現(xiàn)方法,需要的朋友可以參考下2021-08-08
SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解
這篇文章主要介紹了SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解,Spring是分層的JavaSE/EE應(yīng)用輕量級開源框架,以IoC和AOP為內(nèi)核,提供了展現(xiàn)層 Spring MVC和持久層Spring JDBC以及業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級應(yīng)用技術(shù),需要的朋友可以參考下2023-07-07
scrapy結(jié)合selenium解析動態(tài)頁面的實現(xiàn)
這篇文章主要介紹了scrapy結(jié)合selenium解析動態(tài)頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

