本文實例講述了python從任意長度的可迭代對象中分解元素操作。分享給大家供大家參考,具體如下:
從某個可迭代對象中分解出N個元素,但是可迭代對象的長度可能超過N,會出現(xiàn)“分解值過多”的異常;
使用“*表達式”來解決該問題:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> *headdata,current=[10,3,2,6,8,5] #*修飾的變量位于列表第一個位置,輕松分別頭部和尾部>>> headdata[10, 3, 2, 6, 8]>>> current5>>> 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'>>> year2016>>>*式用法在迭代一個變長的元組序列時尤其有用:

(代碼摘自《Python Cookbook》)
更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答