Python 简明教程

Python - Access Tuple Items

Access Tuple Items

访问 Python 元组内值的常见方式是使用编址,我们只需要将我们想要检索的元素的索引指定给方括号 [] 括号。

除了编址之外,Python 还提供了许多其他访问元组项的方法,例如切片、负索引、从元组中提取子元组等。让我们逐个了解一下:

Accessing Tuple Items with Indexing

元组中的每个元素都对应于一个索引。索引从第一个元素的 0 开始,对于每个后续元素增加一。元组中最后一个元素的索引始终为“长度-1”,其中“长度”表示元组中的总项数。要访问元组的元素,我们只需要指定我们要访问/检索的元素的索引,如下所示:

tuple[3]

Example

以下是如何使用切片索引访问元组项的基本示例 −

tuple1 = ("Rohan", "Physics", 21, 69.75)
tuple2 = (1, 2, 3, 4, 5)

print ("Item at 0th index in tuple1: ", tuple1[0])
print ("Item at index 2 in tuple2: ", tuple2[2])

它将生成如下输出:

Item at 0th index in tuple1:  Rohan
Item at index 2 in tuple2:  3

Accessing Tuple Items with Negative Indexing

Python 中的负索引用于从元组的末尾访问元素, -1 表示最后一个元素, -2 表示倒数第二个元素,依此类推。

我们还可以使用负整数表示从元组末尾开始的位置来访问带负索引的元组项。

Example

在以下示例中,我们正在使用负索引访问元组项 −

tup1 = ("a", "b", "c", "d")
tup2 = (25.50, True, -55, 1+2j)

print ("Item at 0th index in tup1: ", tup1[-1])
print ("Item at index 2 in tup2: ", tup2[-3])

我们得到了如下输出 −

Item at 0th index in tup1:  d
Item at index 2 in tup2:  True

Accessing Range of Tuple Items with Negative Indexing

通过元组项的范围,我们是指使用切片从元组中访问元素的子集。因此,我们可以使用 Python 中的切片操作来访问带负索引的元组项的范围。

Example

在下面的示例中,我们正在使用负索引访问元组项的范围 −

tup1 = ("a", "b", "c", "d")
tup2 = (1, 2, 3, 4, 5)

print ("Items from index 1 to last in tup1: ", tup1[1:])
print ("Items from index 2 to last in tup2", tup2[2:-1])

它将生成如下输出:

Items from index 1 to last in tup1: ('b', 'c', 'd')
Items from index 2 to last in tup2: (3, 4)

Access Tuple Items with Slice Operator

Python 中的切片运算符用于从元组中获取一个或多个项。我们可以通过指定我们要提取的索引范围来访问带切片运算符的元组项。它使用以下语法 −

[start:stop]

其中,

  1. start 是起始索引(包含)。

  2. stop 是结束索引(不包含)。

Example

在以下示例中,我们正在从 "tuple1" 中检索从索引 1 到最后一个索引的子元组,从 "tuple2" 中检索从索引 0 到 1 的子元组,并检索 "tuple3" 中的所有元素 −

tuple1 = ("a", "b", "c", "d")
tuple2 = (25.50, True, -55, 1+2j)
tuple3 = (1, 2, 3, 4, 5)
tuple4 = ("Rohan", "Physics", 21, 69.75)

print ("Items from index 1 to last in tuple1: ", tuple1[1:])
print ("Items from index 0 to 1 in tuple2: ", tuple2[:2])
print ("Items from index 0 to index last in tuple3", tuple3[:])

以下是上面代码的输出: -

Items from index 1 to last in tuple1:  ('b', 'c', 'd')
Items from index 0 to 1 in tuple2:  (25.5, True)
Items from index 0 to index last in tuple3 ('Rohan', 'Physics', 21, 69.75)

Accessing Sub Tuple from a Tuple

子元组是元组的一部分,由来自原始元组的连续元素序列组成。

我们可以使用带有适当开始和结束索引的切片运算符从元组中访问子元组。它使用以下语法 −

my_tuple[start:stop]

其中,

  1. start 是起始索引(包含)。

  2. stop 是子元组的结束索引(不包括)。

如果我们不提供任何索引,切片运算符默认从索引 0 开始,在元组的最后一个项处停止。

Example

在此示例中,我们正在使用切片运算符从 "tuple1" 中检索索引 "1 到 2" 的子元组,从 "tuple2" 中检索索引 "0 到 1" 的子元组 −

tuple1 = ("a", "b", "c", "d")
tuple2 = (25.50, True, -55, 1+2j)

print ("Items from index 1 to 2 in tuple1: ", tuple1[1:3])
print ("Items from index 0 to 1 in tuple2: ", tuple2[0:2])

获得的输出如下 −

Items from index 1 to 2 in tuple1:  ('b', 'c')
Items from index 0 to 1 in tuple2:  (25.5, True)