[英]order of unpacking *args in Python
我不知道為什么當我做時變量last
是5
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
是參數時, first
和last
只是變量,因此它們獲得元組(1,2,3,4,5)中first
和last
值之間的所有值。
如果您想寫:
[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.