博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
流畅的python和cookbook学习笔记(二)
阅读量:4356 次
发布时间:2019-06-07

本文共 764 字,大约阅读时间需要 2 分钟。

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

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

  1.平行赋值:

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

  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)

.

 

转载于:https://www.cnblogs.com/zt19994/p/7429349.html

你可能感兴趣的文章
ZOJ 2532 Internship
查看>>
HDU 3452 Bonsai
查看>>
[Erlang12] Mnesia分布式应用
查看>>
图的遍历 | 1013 连通块块数
查看>>
Kinect 开发 —— 进阶指引(上)
查看>>
python学习笔记(六)time、datetime、hashlib模块
查看>>
uva489(需要考虑周全)
查看>>
C-关键字(二)
查看>>
排序笔记
查看>>
下载360doc.com里的文章
查看>>
【转】globk和glorg中使用的apr文件
查看>>
导航,头部,CSS基础
查看>>
PostMessage 解析
查看>>
Java语法基础(一)
查看>>
as3 sort
查看>>
hdu 2680 Choose the best route Dijkstra 虚拟点
查看>>
26. Remove Duplicates from Sorted Array java solutions
查看>>
[bzoj1185] [HNOI2007]最小矩形覆盖
查看>>
全景图制作详解
查看>>
React之todo-list
查看>>