威斯尼斯人官网流畅的python和cookbook学习笔记(二),pythoncookbook

流畅的python和cookbook学习笔记(二),pythoncookbook

1.元组拆包和解压序列赋值

  任何的序列 (或者是可迭代对象)
可以通过一个简单的赋值语句解压并赋值给多个
变量。唯一的前提就是变量的数量必须跟序列元素的数量是一样的。

  1.平行赋值:

>>> x = (1, 2) 
>>> a, b = x  # 元组拆包 
>>> a
1
>>> b
2

  2.以用 * 运算符把一个可迭代对象拆开作为函数的参数:

>>> divmod(20, 8)  # 20求8的余,2 * 8 + 4 == 20
(2, 4) 
>>> t = (20, 8)
>>> divmod(*t) 
(2, 4) 
>>> quotient, remainder = divmod(*t) 
>>> quotient, remainder   # 商和余数
(2, 4)

  3.函数中用 *args 来获取不确定数量的参数:

>>> a, b, *rest = range(5)
>>> a, b, rest 
(0, 1, [2, 3, 4]) 
>>> a, b, *rest = range(3)
>>> a, b, rest
(0, 1, [2]) 
>>> a, b, *rest = range(2) 
>>> a, b, rest
(0, 1, [])

  4.在平行赋值中,*
前缀只能用在一个变量名前面,但是这个变量可以出现在赋值表达式的任意位置:

>>> a, *body, c, d = range(5) 
>>> a, body, c, d 
(0, [1, 2], 3, 4) 
>>> *head, b, c, d = range(5) 
>>> head, b, c, d 
([0, 1], 2, 3, 4)

威斯尼斯人官网 ,.

 

1.元组拆包和解压序列赋值 任何的序列 (或者是可迭代对象)
可以通过一个简单的赋值语句…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章