与列表类似,元组也是由任意类型元素组成的序列。
与列表不同的是,元组是不可变的,这意味着一旦元组被定义,将无法再进行增加、删除或修改元素等操作。因此,元组就像是一个常量列表。
使用()创建元组
下面的例子展示了创建元组的过程,它的语法与我们直观上预想的有一些差别 用()创建一个空元组
>>> empty_tuple = ()
>>> empty_tuple
()
创建包含一个或多个元素的元组时,每一个元素后面都需要跟着一个逗号,即使只包含 元素也不能省略
>>> name = 'rison',
>>> name
('rison',)
如果创建的元组所包含的元素数量超过1,最后一个元素后面的逗号可以省略:
>>> name = 'rison','jack'
>>> name
('rison', 'jack')
Python的交互式解释器输出元组时会自动添加一对圆括号。 你并不需要这么做定义,元组真正靠的是每个元素的后缀逗号 但如果你习惯添加一对括号也无可厚非。可以用括号将所有元素包裹起来,这会使得程序更加清晰
>>> name = ('rison', 'jack')
>>> name
('rison', 'jack')
元组解包
可以一口气将元组赋值给多个变量
>>> name = ('rison', 'jack')
>>> name
('rison', 'jack')
>>> a,b = name
>>> a
'rison'
>>> b
'jack'
可以利用元组仔一条语句中多个变量的值进行交换,而不需要借助临时变量
因为
>>> a = 10
>>> b = 20
>>> c = a,b # 相当于 c = (a,b)
>>> c
(10, 20)
所以有
>>> a,b = b,a
>>> a
20
>>> b
10
tuple()类型转换
可用其他类型的数据创建元组
>>> a_list = [23,4,5]
>>> tuple(a_list)
(23, 4, 5)
元组与列表
在许多地方都可以用元组代替列表,但元组的方法函数与列表相比要少一些元组没有append()、 insert(),等等,因为一旦创建元组便无法修改。
原因如下所示
-
元组占用的空间较小
-
你不会意外修改元组的值
-
可以将元组用作字典的键
-
命名元组
-