《Python Cookbook 3rd》笔记(1.1):拆分序列后赋值给多个变量
生活随笔
收集整理的這篇文章主要介紹了
《Python Cookbook 3rd》笔记(1.1):拆分序列后赋值给多个变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
拆分序列后賦值給多個變量
問題
現有一個包含N個元素的元組或序列,如何將其值拆分后同時賦值給N個變量?
解法
任何序列 (或可迭代對象) 可通過一個簡單賦值語句拆分并賦值給多個變量。唯一前提是變量數量必須與序列元素長度一致。
>>> p = (4, 5) >>> x, y = p >>> x 4 >>> y 5 >>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> name, shares, price, date = data >>> name 'ACME' >>> date (2012, 12, 21) >>> name, shares, price, (year, mon, day) = data >>> name 'ACME' >>> year 2012 >>> mon 12 >>> day 21若變量個數和序列長度不匹配,則拋異常。
>>> p = (4, 5) >>> x, y, z = p Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: need more than 2 values to unpack討論
其實,該拆分賦值法可用于任一可迭代對象上,而不僅僅是列表或元組,還包括字符串,文件對象,迭代器和生成器。
>>> s = 'Hello' >>> a, b, c, d, e = s >>> a 'H' >>> b 'e' >>> e 'o'有時,你只想取其中一部分,丟棄其他。對此,Python沒有提供特殊語法。但你可使用任意變量名去占位,到時棄之即可。
>>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> _, shares, price, _ = data >>> shares 50 >>> price 91.1你必須保證你選用的那些占位變量名在其他地方沒被使用到。
總結
以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记(1.1):拆分序列后赋值给多个变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IntelliJ IDEA 学习笔记
- 下一篇: 《Python Cookbook 3rd