元组(tuple)是Python中另一个重要的序列,与列表类似。在形式上,元组的所有元素都放在一对"()“中,两个相邻元素使用”,“分隔。通常情况下,元组用来保存程序中不可修改的内容。
4.3.1 元组的创建和删除
1. 使用赋值运算符直接创建元组
语法格式如下:
tuplename = (element 1,element 2,element 3,...,element n)
在Python中,元组使用一对小括号将其所有的元素括起来,但是小括号并不是必须的,只要将一组值用逗号分隔开来,Python就可以视其为元组。
如果创建的元组只包括一个元素,则需要在定义元组时,在元素的后面加一个逗号”,“。
2. 创建空元组
3. 创建数值元组
在Python中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple()函数的基本语法如下:
tuple(data)
data:可以转换为元组的数据,其类型可以是range对象、字符串、元组或其他可迭代类型的数据。
4. 删除元组
对于已经创建的元组,不再使用时,可以使用del语句将其删除。语法格式如下:
del tuplename
4.3.2 访问元组元素
在Python中,如果想将元组的内容输出也比较简单,可以使用print()函数即可。
4.3.3 修改元组元素
元组元素是不可变序列,所以我们不能对它的单个值进行修改。但是元组也不是完全不能修改,我们可以对元组进行重新赋值。
另外,还可以对元组进行连接组合。在进行连接时,连接的内容必须是元组。不能将元组和字符串或者列表进行连接。
4.3.4 元组推导式
使用元组推导式可以快速生成一个元组,它的表现形式和列表推导式类似,只是将列表推导式中的“[ ]"修改为”( )",例如:
从上面的执行结果,可以看出使用元组推导式生成的结果并不是一个元组或列表,而是一个生成器对象,要使用该生成器对象可以将其转换为元组或者列表,转换为元组使用tuple()函数,而转换为列表则使用list()函数。例如:
遍历生成器对象,使用_ _next()_ _方法
通过上面示例可以看出,如果想要再使用该生成器对象,都必须重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了。
4.3.5 元组与列表的区别
1. 列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可以 修改,除非整体替换。
2. 列表可以使用append()、extend()、insert()、remove()和pop()等方法实现添加和修改列元素, 而元组没有这几个方法,所以不能向元组中添加和修改元素。同样,元组也不能删除元素。
3. 列表可以使用切片访问和修改列表中的元素。元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。
4. 元组比列表的访问速和处理速度快,所以当只是需要对其中的元素进行访问,而不进行任何修改时,建议使用元组。
5. 列表不能作为字典的键,而元组可以。