您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python cookbook如何實現從任意長度的可迭代對象中分解元素操作,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
從某個可迭代對象中分解出N個元素,但是可迭代對象的長度可能超過N,會出現“分解值過多”的異常;
使用“*表達式”來解決該問題:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> *headdata,current=[10,3,2,6,8,5] #*修飾的變量位于列表第一個位置,輕松分別頭部和尾部 >>> headdata [10, 3, 2, 6, 8] >>> current 5 >>> record=('dave','dave@example.com','773-555-1212','847-555-1212') >>> name,email,*phone_numbers=record#*修飾的變量位于列表最后一個位置 >>> name 'dave' >>> email 'dave@example.com' >>> phone_numbers ['773-555-1212', '847-555-1212'] >>> line='nobody:*:-2:-3:Unpriviledged User:/var/empty:/usr/bin/false' >>> uname,*fields,homedir,sh=line.split(':') #*修飾的變量位于中間位置,且與字符串處理操作相結合 >>> uname 'nobody' >>> homedir '/var/empty' >>> sh '/usr/bin/false' >>> fields ['*', '-2', '-3', 'Unpriviledged User'] >>> record=['lucy',50,123.4,(12,13,2016)] >>> name,*_,(*_,year)=record #將某些分解出的值丟棄 >>> name 'lucy' >>> year 2016 >>>
*式用法在迭代一個變長的元組序列時尤其有用:
關于“Python cookbook如何實現從任意長度的可迭代對象中分解元素操作”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。