元组
我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组。
元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表。除了在内部元素不可修改的区别外,元组和列表的用法差不多。
元组与列表相同的操作:
- 使用方括号加下标访问元素
- 切片(形成新元组对象)
- count()/index()
- len()/max()/min()/tuple()
元组中不允许的操作,确切的说是元组没有的功能
- 修改、新增元素
- 删除某个元素(但可以删除整个元组)
- 所有会对元组内部元素发生修改动作的方法。例如,元组没有remove,append,pop等方法
看一些实例:
tup1 = () # 创建空元组
tup1 = (40,) # 创建只包含一个元素的元组时,要在元素的后面跟个逗号
tup = (1, 2, 3, 4)
tup[2]
3
tup[3] = "a"
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
tup[3] = "a"
TypeError: \'tuple\' object does not support item assignment
元组与列表类似的特殊操作
元组只保证它的一级子元素不可变,对于嵌套的元素内部,不保证不可变!
tup = (\'a\', \'b\', [\'A\', \'B\'])
tup[2][0] = \'a\'
tup[2][1] = \'b\'
tup
(\'a\', \'b\', [\'a\', \'b\'])
列表和元组的转换
使用list函数可以把元组转换成列表
使用tuple函数可以把列表转换成元组