2016-08-25 23 views
1

拆包* args來我不知道爲什麼變量last5 當我這樣做爲了在Python

first, *rest, last = 1,2,3,4,5 

我想分配進入由左到右,從而 *rest[2,3,4,5],但它actualy是[2,3,4] 我認爲最後會是空的,或者這個代碼會導致錯誤,但令人驚訝的是它的工作原理,但我不明白爲什麼

回答

0

僅僅因爲它是開箱功能。

firstlast只是變量,當*rest有觀點,所以他們得到的元組(1,2,3,4,5)firstlast值之間的一切。

如果你想有你這樣寫道:

[2,3,4,5] 

就用:

first, *args = 1,2,3,4,5 
# first --> 1 
# args --> [2,3,4,5]