元组

元组

与列表类似,元组也是由任意类型元素组成的序列。

与列表不同的是,元组是不可变的,这意味着一旦元组被定义,将无法再进行增加、删除或修改元素等操作。因此,元组就像是一个常量列表。

 

使用()创建元组

下面的例子展示了创建元组的过程,它的语法与我们直观上预想的有一些差别 用()创建一个空元组

>>> 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(),等等,因为一旦创建元组便无法修改。

既然列表更加灵活,那为什么不在所有地方都使用列表呢?

原因如下所示

  • 元组占用的空间较小

  • 你不会意外修改元组的值

  • 可以将元组用作字典的键

  • 命名元组

  • 可以作为对象的替代函数的参数是以元组形式传递的

原文地址:https://www.cnblogs.com/aweisl/p/13502526.html