python元组(tuple)简介

? 这是我参与更文挑战的第13天,活动详情查看: 更文挑战

0x00 ? 前言

Python是一种知道如何不妨碍你编写程序的编程语言。它易于学习,功能强大,足以构建Web应用程序并自动化无聊的东西。

本文是对序列类型中元组(tuple)进行介绍。

0x01 元组(tuple)

元组(tuple)也是序列,和列表一样。

列表vs元组

列表和元组的主要不同在于,列表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用于出于某种考虑需要禁止修改序列的情形。几乎在所有情况下都可使用列表来代替元组。元组用作字典键时不能使用列表来代替元组,因为字典键是不允许修改的。

创建元组

元组语法很简单,只要将一些值放在一对小括号( )中用逗号分隔,就能自动创建一个元组。也可以直接用逗号分隔创建元组。

>>> (1, 2, 3)
(1, 2, 3)

>>> 1, 2, 3
(1, 2, 3)
复制代码

创建包含一个值的元组必须在其后面加上逗号。

>>> 42,
(42,)
>>> (42,)
(42,)

>>> 42
42
>>> (42)
42
复制代码

空元组

空元组用两个不包含任何内容的圆括号表示。

>>> ()
()
复制代码

使用tuple()函数创建元组

内置的函数 tuple() 将其它数据类型转换为元组类型。 tuple实际上也不是函数,而是类型。

>>> tuple([1, 2, 3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1, 2, 3))
(1, 2, 3)
复制代码

type()类型判断

过 type() 函数来查看数据类型。

>>> type( (1,2,3) )                                   
<class 'tuple'>
复制代码

访问元组

使用索引(Index)访问元组中的某个元素(得到的是一个元素的值),也可以使用切片访问元组中的一组元素(得到的是一个新的子元组)。
索引可以为负值。当使用切片访问可以传入三个参数,第1个参数 表示起始索引,第2个参数 表示结束索引,第2个参数 表示步长(可省略)。

>>> tup1 = tuple('hello,world!')
# 使用索引访问
>>> tup1[1]  # 正数索引
'e'
>>> tup1[-2] # 负数索引
'd'
# 使用切片访问
>>> tup1[1:10]   # 正数切片
('e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l')
>>> tup1[1:10:3]  # 指定步长
('e', 'o', 'o')
>>> tup1[-6:-1]   # 负数切片
('w', 'o', 'r', 'l', 'd') 
复制代码

修改元组

元组是不可修改的,所以只能通过创建一个新的元组去替代旧的元组。

>>> tup1 = (42,)
>>> tup1 = tup1 * 3
>>> tup1
(42, 42, 42)
复制代码

使用加法运算符来拼接元组,添加新元素。

>>> tup1 = (1,2,3)          
>>> tup2 = (4,5,6)
>>> tup1 + tup2
(1, 2, 3, 4, 5, 6)
>>> tup1
(1,2,3)        
复制代码

删除元组

当创建的元组不再使用时,可以通过 del 关键字手动将其删除。垃圾回收会自动销毁不用的元组,所以一般不需要通过 del 来手动删除。

>>> tup1 = (1,2,3)      
>>> tup1
(1, 2, 3)
>>> del tup1
>>> tup1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup1' is not defined
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享