事实上,Python中原始的元组和列表赋值语句形式,最后已经被通用化,以接受右侧可以是任何类型的序列,只要长度相等即可。...>>> red,green,blue = range(3)
>>> red,blue
(0, 2)
另一个会看见元组赋值语句的地方就是,在循环中把序列分割为开头和剩余的两部分,如下:
>>> L=[...扩展解包的实际应用:
a匹配序列中的第一项,b匹配剩下的内容:
>>> seq = [1,2,3,4]
>>> a,*b = seq
>>> a
1
>>> b
[2, 3, 4]
b匹配序列的最后一项...,a匹配最后一项之前的所有内容:
>>> *a,b=seq
>>> a
[1, 2, 3]
>>> b
4
第一项和最后一项分别赋给了a和c,而b获取了二者之间的所有内容:
>>> a,*b,c...= seq
>>> a,
(1,)
>>> b
[2, 3]
>>> c
4
更一般的,不管带星号的名称出现在哪里,包含该位置的每个未赋值名称的一个列表都将赋给它:
>>> a,b,*c = seq