python 的解压赋值

  • python 的解压赋值可以用在任何可迭代对象上面,而不仅仅是列表或者元组。 包括字符串,文件对象,迭代器和生成器
In [1]: s='cxk'

In [2]: a,b,c=s

In [3]: a
Out[3]: 'c'

In [4]: b
Out[4]: 'x'

In [5]: c
Out[5]: 'k'
  • python 的星号表达式可以将若干个变量解压赋给一个变量值
In [6]: record = ('Dave', '[email protected]', '773-555-1212', '847-555-1212')

In [7]: name, email, *phone_numbers = record

In [8]: phone_numbers
Out[8]: ['773-555-1212', '847-555-1212']

注意:带星号变量一定为列表类型

可以与占位符一起使用,丢弃掉不需要的变量

In [9]: record = ('ACME', 50, 123.45, (12, 18, 2012))

In [10]: name, *_, (*_, year) = record

In [11]: name
Out[11]: 'ACME'

In [12]: year
Out[12]: 2012

 

你可能感兴趣的:(python进阶)