序列封包和序列解包

  程序把多个值赋给一个变量时,python会自动将多个值封装成元组,这种功能被称为序列封包

  程序允许将序列(元组或列表等)直接赋值给多个变量,此时序列的各元素会被一次赋值给每个变量,(要求序列元素个数和变量个数相等)。这种功能被称为序列解包。

>>> a=1,2,3,4
>>> a
(1, 2, 3, 4)
>>> type(a)
<class 'tuple'>
>>> x,y,z,w=a
>>> print(x,y,z,w)
1 2 3 4
>>> x,y,*z=a
>>> print(x,y,z)
1 2 [3, 4]

>>> x,*y,z=a
>>> print(x,y,z)
1 [2, 3] 4

在解包时也可以只解出部分变量,剩下的依然使用列表变量保存。为了使用这种解包方式,python允许在左边被赋值的变量之前添加‘*’,那么该变量就代表一个列表。可以保存多个集合元素。如上例子。

猜你喜欢

转载自www.cnblogs.com/inuyashalove/p/12710884.html