現在有乙個包含 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 ""
, line 1,in
valueerror: need more than 2 values to unpack
>>
>
**示例:
有時候,你可能只想解壓一部分,丟棄其他的值。對於這種情況 python 並沒有提供特殊的語法。 但是你可以使用任意變數名去佔位,到時候丟掉這些變數就行了。>>
> s =
'hello'
>>
> a, b, c, d, e = s
>>
> a
'h'>>
> b
'e'>>
> e
'o'>>
>
**示例:
你必須保證你選用的那些佔位變數名在其他地方沒被使用到。>>
> data =
['acme',50
,91.1,(
2012,12
,21)]
>>
> _, shares, price, _ = data
>>
> shares
50>>
> price
91.1
>>
>
將序列分解為單獨的變數
我們有乙個包含n個元素的元組或序列,現在想將它分解為n個單獨的變數 任何序列 可迭代的物件 都可以通過乙個簡單的賦值操作來分解為單獨的變數。唯一的要求時變數的總數和結構要與序列相吻合 例如 p 4,5 x,y p print x 4 print y 5 data bai 80,67.3,2012,3...
將真分數分解為埃及分數
分子為1 的分數稱為埃及分數,現輸入乙個真分數,請將該分數分解為埃及分數。如 8 11 1 2 1 5 1 55 1 110。問題分析與演算法設計 若真分數的分子a能整除分母b,則真分數經過化簡就可以得到埃及分數,若真分數的分子不能整除分母,則可以從原來的分數中分解出乙個分母為b a 1的埃及分數。...
將整數分解為連續正整數之和
將乙個整數 n 分解為連續正整數之和,如 15 可以分解為 15 1 2 3 4 5 15 4 5 6 15 7 8 計算從 i 開始連續 k 個數之和 sum k 2 i k 1 2 當 sum n 時,有 k k 2 i 1 k 2 n 0 變形為 i 2 n k k 1 2。在 2,2 n k...