美文网首页
内置数据结构-封包解包

内置数据结构-封包解包

作者: loveroot | 来源:发表于2017-01-02 20:16 被阅读61次

解包,个人理解就是对序列进行拆分,赋值给对应的变量
最经典的莫过于两个数交换,一般我们是通过一个中间变量把两个数交换,在python中可以直接通过解包的形式直接交换两个数
如:

In [92]: a,b=1,3

In [93]: a
Out[93]: 1

In [94]: b
Out[94]: 3

In [96]: a,b=3,1

In [97]: a
Out[97]: 3

In [98]: b
Out[98]: 1

In [99]: 

其实 a, b = 1, 3 就是 a, b = (1, 3), 把序列中对应的元素赋值给a,b
再看一组例子

In [99]: head, *tail = [1,2,3,4,5]

In [100]: head
Out[100]: 1

In [101]: tail
Out[101]: [2, 3, 4, 5]

In [104]: head, *_, tail = [1,2,3,4,5]

In [105]: head
Out[105]: 1

In [106]: tail
Out[106]: 5

In [107]: _
Out[107]: 5

In [108]: head, *mid, tail = [1,2,3,4,5]

In [109]: mid
Out[109]: [2, 3, 4]

In [120]: head, _, *mid, tail = [1,2,3,4,5]

In [121]: head
Out[121]: 1

In [122]: mid
Out[122]: [3, 4]

In [123]: tail
Out[123]: 5


In [115]: h, *t = ['a']

In [116]: h
Out[116]: 'a'

In [117]: t
Out[117]: []


In [124]: a, (b, c), d = [1, [2,3],4]

In [125]: a
Out[125]: 1

In [126]: b
Out[126]: 2

In [127]: c
Out[127]: 3

In [128]: d
Out[128]: 4

从上面可以感受到解包的强大之处,如果元素个数有多个,想解包后放在一个变量里面就要使用*变量名_用作变量名时表示丢弃这些变量,python中单个_表示上一个命令的返回值,*变量名解包后都是一个列表

封包

封包就是把多个元素打包赋值给一个变量,函数中返回多个值就是一个封包

In [118]: v = 1,2,3

In [119]: v
Out[119]: (1, 2, 3)

相关文章

  • 内置数据结构-封包解包

    解包,个人理解就是对序列进行拆分,赋值给对应的变量最经典的莫过于两个数交换,一般我们是通过一个中间变量把两个数交换...

  • 20.11.13 封包解包

    1. 封包(packing)与解包(unpacking) 1.1. 概念 封包:把多个值赋值给一个变量时,Pyth...

  • Python基础——解包与封包

    1.python封包 将多个值赋值给一个变量时,Python会自动将这些值封装成元组,这个特性称之为封包 返回 当...

  • 【SWIFT】if let用法

    swift里面有optional可选类型情况,也叫封包处理可以通过if let进行解包 判断非空的情况才把值取出来...

  • python3常用的内置数据结构

    针对python3的内置数据结构,做了个小结,包括概念、内置方法、示例等内容。 python3的内置数据结构总体分...

  • python面试算法

    python内置数据结构算法常考 常用的内置算法和数据结构 sorted排序函数 dict/list/set/tu...

  • redis数据结构

    redis放弃了很多c语言内置的数据结构,自己实现了很多自己的数据结构,这些数据结构很优质,提供了很多内置的指令都...

  • 数据结构和算法(六)

    1. Python 内置数据结构和算法 使用过哪些内置的常用的算法和数据结构 sorted:排序 dict、lis...

  • Socket连接、心跳、重连、解包(粘包、断包)

    上篇已经准备好了基本的条件,接下来就是如何与服务器之间建立一条长连接,以及如何封包、解包; 新建LXSocketM...

  • golang 写个栈(Stack)数据结构

    golang暂未有内置的Stack数据结构,工作需要就“借鉴”他人写了个 原理就是利用内置的list数据结构的Pu...

网友评论

      本文标题:内置数据结构-封包解包

      本文链接:https://www.haomeiwen.com/subject/tkawvttx.html