学习Python元组,有哪些必须要掌握的内容
学习Python元组,有哪些必须要掌握的内容?
成都创新互联公司从2013年创立,公司以成都做网站、成都网站制作、成都外贸网站建设、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户成百上千,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。
1.Python元组
定义
元组是Python的一种内建数据结构。关于元组:
1、元组属于序列,可以存放任意元素(任意类型对象),且有序(前后位置关系)。
2、元组支持整数索引访问其中的数据,也支持切片。
3、元组和列表不同是,元组不可变,列表可变。
元组不可变,某些操作比列表高效。
创建元组
可以用以下两种方法创建元组:
1、使用()创建
2、使用构造函数tuple()
图:使用()创建元组
使用()可以创建元组,元组元素间使用”,”分隔,元组内部元素可以是任意元素,也可以是元组。
图:创建元组代码示例
元组不可变除了不能修改,也不能删除元组元素,但删除与元组绑定的变量是没问题的。
图:元组不可变
使用()方式创建只有一个元素的元组时要注意,因为一个元素使用()括起来,表示元素本身,如100, (100),两者等价,如果创建只包含100的元组应该使用:(100,)方式。
图:使用()创建只有一个元素的元组
使用构造函数tuple()创建元组。了解更多信息可以使用help(tuple)来查看具体帮助内容。
图:tuple函数帮助
1、tuple()如果没有参数创建一个空元组。
2、tuple(可迭代对象) 由可迭代对象创建一个元组,如字符串,列表。如果参数是元组将返回该元组。
图:使用tuple函数创建元组
2.元组的访问
和字符串列表一样,元组支持使用整数索引(下标方式访问),也支持切片方式访问元组的元素。
下标索引如果是正整数则从0开始表示第一个元素,…… 最有一个元素用 元组长度-1表示;如果使用负整数做下标,-1表示最后一个元素,-2表示倒数第二个元素,…… 负的长度表示第一个元素。
!!!需要注意的是下标索引不能越界!!!
1、使用索引访问:
图:使用索引访问元组元素
2、切片访问:
图:使用切片访问元组
3.使用内建的常用函数操作元组
常用内建函数len、max、min、sum、reversed可以操作元组,函数解释如下:
操作示例如下:
注意事项:
使用min,max,sum函数操作元组,元组元素类型能被函数接受才可以,否则将报异常等错误。
4.元组常用方法
主要有count和index方法:
count返回元组中对应值的个数,index返回对应值的位置(索引)。
5.元组运算
元组支持 + 连接, * 复制运算,in /not in 运算
图:元组运算
6.序列
字符串,元组,列表都属于Python的序列结构,序列具有很多相同的属性和操作方法,如:序列中的每个元素被分配一个序号(位置,也叫索引),序号(索引)从0开始,依次类推;序列都支持切片操作等等。
图:序列通用操作
Python内置了多种序列结构:字符串、列表、元组、Unicode字符串、buffer对象、range对象。序列是Python中一种重要的数据结构,必须要掌握,也很容易掌握。
说说 Python 的具名元组
Python 提供的元组与列表类似,不同之处在于元组的元素不能修改。虽然有时候很方便,但因为不能为元组内部的数据进行命名,所以没有那么直观。
Python 引入了 collections.namedtuple 这个工厂函数,用来构造一个带字段名的元组。
(1)声明与实例化
我们一般这样来构造具名元组:
下面是声明一个具名元组及其实例化方法的示例:
运行结果:
这里通过 collections.namedtuple 创建了一个具名元组,用来表示一张扑克牌。rank 表示扑克牌点数,suit 表示花色。可以通过字段名或者位置来实例化一个具名元组。这里的 select_card 表示抽到一张黑桃 10。
(2)特有属性与方法
具名元组还拥有以下这些特有的属性与方法。
运行结果:
另外,通过 . 语法还可以获取具名元组中所对应的属性值:
运行结果:
Python中元组常用的方法有哪些,分别有什么作用?
python元组内置的函数有:
1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。
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不可变对象元组(tuple)详解
元组和列表很相似,不过元组是不能在原处改变的对象,这点性质和字符串一致,虽然元组不支持任何方法调用,但是元组具有列表的大多数属性,以下是元组的一些特性。
示例结果:
示例结果:
示例结果:
示例结果:
示例结果:
当我们在学习元组时,总是会纳闷已经有了列表为什么还需要学习使用元组看似鸡肋的内置对象呢? 我们可以通过元组的不可变性运用在一些场景中,因为其不可变性本身本身就提供了某种完整性,比如使用元组来实现函数的多返回值,作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被外部接口修改。
本文名称:python元组函数讲解 python元组操作
文章分享:http://scgulin.cn/article/dodedhd.html