簡體   English   中英

在Python中解壓* args的順序

[英]order of unpacking *args in Python

我不知道為什么當我做時變量last5

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

我以為賦值從左到右,因此*rest將是[2,3,4,5] ,但實際上是[2,3,4]並且我以為last將為空,否則此代碼將導致錯誤,但令人驚訝的是它有效,但是我不明白為什么

這是僅在Python 3中有效的語法,稱為“擴展解壓縮”,並且在PEP 3132中定義-https: //www.python.org/dev/peps/pep-3132/

只是因為它具有拆包功能。

*rest是參數時, firstlast只是變量,因此它們獲得元組(1,2,3,4,5)中firstlast值之間的所有值。

如果您想寫:

[2,3,4,5]

然后只需使用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM