python函数拆包 python拆分函数

[小白自学python]如何理解与应用装包与解包?您说python函数拆包的装包是用元组python函数拆包 , 解包是用比如a, b, c = test_list (假设test_list为[1, 2, 3])
Python元组常用操作小技巧所以这篇文章 , 我们先来回顾和总结Python数据结构里常用操作 。Python中常见的数据结构可以统称为容器(container) 。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器 。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在这篇文章的讨论范围内 。
在此,我们先从元组开始说起 。
元组区别于列表的显著特征之一就是它不能被修改,但其另外一个作用就是用于没有字段名的记录[1]。因为后者经常被忽略,我们先来看看元组作为记录的作用 。
使用括号就可以定义一个元组 。元组中的每个元素都存放了记录中一个字段的数据 , 外加这个字段的位置 。正是这个位置信息给数据赋予了意义 。下面的例子中,元组就被当作记录加以利用:
输出为:
上述for循环中的操作提取了元组中的元素,也叫作拆包(unpacking) 。平行赋值是对元组拆包很好的应用,示例如下:
还有一个经典而优雅的应用是交换变量的值:
用* 运算符把一个可迭代对象拆开作为函数的参数,例如Python的内置函数pmod接收两个数字类型的参数,返回商和余数 。以下范例将使用 * 将元组传入函数 。
输出为:
有些函数有多个返回值,将其赋给一个变量时,变量类型即是元组:
输出为:
zip是Python的内置函数 , 能够接收两个或多个序列,并组成一个元组列表,在Python3中会返回一个迭代器,如下所示:
输出为:
元组当然也支持一些常规操作,如对于元组a = (1, 'y', 5, 5, 'x') :
上述内容不仅涵盖了元组的基本操作,同时也结合了实际工作中常搭配使用的其他函数、运算符等 。在回顾这些知识时主要参考了两本经典的Python编程书籍:《流畅的Python》和《像计算机科学家一样思考Python》 , 有兴趣的朋友可以深入阅读!
希望这篇文章对你有帮助,下回将总结Python列表的使用技巧 。
[1]《流畅的Python》:
Python元组拆包 什么叫元组拆包?
将元组内的元素,依次分配赋值给变量 。
拆包有个要求,元组中的元素数量必须跟接受这些元素的空挡数一致,否则会报错:
这样就只获取到部分数据了,这在取函数返回值时特别有用,比如:
当返回值特别多时 , _占位符写起来麻烦,可以用*来处理剩下的元素
*c是个列表 , 如果没有足够的值,就会返回一个空列表
*前缀变量能放在任意位置
*还有一个作用,把元组拆开作为函数参数,经典写法*args就是这个道理
嵌套元组是指元组中有元组,比如(1, 2, 3, (4, 5)),对于嵌套元组,你可能会想要拆两遍:
实际上能一步到位:
元组拆包提供了语法糖,对于交换两个变量的值的常规写法:
优雅写法
利用Python进行数据分析笔记:3.1数据结构 元组是一种固定长度、不可变的Python对象序列 。创建元组最简单的办法是用逗号分隔序列值python函数拆包:
tuple 函数将任意序列或迭代器转换为元组python函数拆包:
中括号 [] 可以获取元组的元素,Python中序列索引从0开始 :
元组一旦创建,各个位置上的对象是无法被修改的,如果元组的一个对象是可变的,例如列表,python函数拆包你可以在它内部进行修改:
可以使用 + 号连接元组来生成更长的元组:

推荐阅读