? 这是我参与更文挑战的第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