目录
元组是Python中内置的有序不可变序列,元组的所有元素放在一对圆括号“()”中,并使用逗号隔开,元组中元素的类型可以相同也可以不同。
元组的创建
创建元组的两种方式:
注意:当元组中只包含一个元素时,元素后面的逗号不能省略,否则系统会将其看做是其他数据类型。例如包含一个整数5的元组应写成 a_tuple = (5,) 而不能写成a_tuple = (5)(此时a_tuple是整型)。
元组和列表的联系与区别
元组和列表之间存在很多关联,例如都可以存放多个数据,里面的数据都是有序的,支持索引、切片操作,都能使用系统中提供的一些内置函数如求最大值、最小值、求和、求长度等。二者之间可以通过相应的函数进行转化,二者最大的不同在于元组中的元素不能修改,因此元组不支持修改、插入、附加等操作,所有对元组有变化的操作都是生成一个新的元组,例如两个元组之间相加、元组乘以整数等。可以说,所有能用到元组的地方,都可以使用列表。那为什么还需要元组呢?元组操作速度比列表更快,元组的安全性更高,可以有效避免对一些不可变的内容进行修改。
生成器推导式
元组没有推导式,尝试通过已有序列快速生成满足特定需求的元组时,产生的是一个生成器对象。生成器推导式的写法与列表推导式非常类似,只是将一对中括号换成了一对圆括号。语法形式: (表达式 for 变量 in 已有序列 if 过滤条件)
生成器是用来创建Python序列的一个对象。使用它可以迭代庞大序列,且不需要在内存创建和存储整个序列,它的工作方式是每次处理一个对象,而不是一口气处理和构造整个数据结构。每次迭代生成器时,它会记录上一次调用的位置,并且返回下一个值。可通过tuple()、list()等函数将其转化为元组或列表。可通过生成器对象的__next__()方法或者系统的next()方法逐个访问其中的元素。
更多关于手把手教你学Python的文章请关注微信公众号:手把手教你学编程。详细的视频讲解可查看 CSDN学院 里的手把手教你学Python系列视频:https://edu.csdn.net/lecturer/5686。