国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

1.1 解壓序列賦值給多個變量

2018-02-24 15:26 更新

問題

現(xiàn)在有一個包含N個元素的元組或者是序列,怎樣將它里面的值解壓后同時賦值給N個變量?

解決方案

任何的序列(或者是可迭代對象)可以通過一個簡單的賦值語句解壓并賦值給多個變量。唯一的前提就是變量的數(shù)量必須跟序列元素的數(shù)量是一樣的。

代碼示例:

>>> 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
>>>

如果變量個數(shù)和序列元素的個數(shù)不匹配,會產(chǎn)生一個異常。

代碼示例:

>>> 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
>>>

你必須保證你選用的那些占位變量名在其他地方?jīng)]被使用到。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號