Skip to content

元组操作

我们可以对元组执行各种操作,例如成员检查、连接、重复和切片。

成员检查 (Membership)

innot in 可用于检测元组中某一项是否存在。

python
>>> t = ("宝马", "Z4", 2019,
...       4, "红色", True)
>>> "红色" in t
True
>>> "金色" in t
False
>>> "金色" not in t
True

连接 (Concatenation)

+ 运算符可用于连接两个元组以创建新元组。

python
>>> t = ("宝马", "Z4")
>>> u = (2019, "红色")
>>> t+u
('宝马', 'Z4', 2019, '红色')

重复 (Repetition)

* 运算符创建一个新元组,其中包含元组的项重复整数操作数指定的次数。

python
>>> t = (1, 2)
>>> t*3
(1, 2, 1, 2, 1, 2)

元组切片 (Tuple Slicing)

可以使用元组切片表示法 t[i:j] 获取元组 t 的子集,其中包含索引 i 处的项,但不包含索引 j 处的项。

例如,切片表示法 [1:4] 指的是从索引 1 到索引 3(即 4-1)的项。

python
>>> t = ("宝马", "Z4", 2019,
...       4, "红色", True)
>>> t[1:4]
('Z4', 2019, 4)

切片表示法 t[i:j:k] 还可以包含第三个数字,称为步长 (step)。这里,元组从开始索引 i 切片到结束索引 (j) - 1,步长为 k 个项。

python
>>> t = ("宝马", "Z4", 2019,
...       4, "红色", True)
>>> t[1:4:2]
('Z4', 4)

切片表示法也有一些有用的默认值。

第一个数字的默认值是 0,第二个数字的默认值是元组的大小。

python
>>> t = ("宝马", "Z4", 2019,
...       4, "红色", True)
>>> t[2:]
(2019, 4, '红色', True)
>>> t[:4]
('宝马', 'Z4', 2019, 4)

切片表示法也支持负索引。

python
>>> t = ("宝马", "Z4", 2019,
...       4, "红色", True)
>>> t[-4:]
(2019, 4, '红色', True)
>>> t[:-2]
('宝马', 'Z4', 2019, 4)
>>> t[-4:-1]
(2019, 4, '红色')