Python - 访问列表项



访问列表项

在 Python 中,列表是元素或对象的序列,即对象的有序集合。与数组类似,列表中的每个元素都对应一个索引。

要访问列表中的值,我们需要使用方括号 “[]” 表示法,并指定要检索的元素的索引。

第一个元素的索引从 0 开始,每个后续元素的索引递增 1。列表中最后一项的索引始终为 “length-1”,其中 “length” 表示列表中的项总数。

除此之外,Python 还提供了各种其他方法来访问列表项,例如切片、负索引、从列表中提取子列表等。让我们一一来了解一下 -

使用索引访问列表项

如上所述,要使用索引访问列表中的项目,只需在方括号(“[]”)中指定元素的索引,如下所示 -


 mylist[4]

以下是访问列表项的基本示例 -


list1 = ["Rohan", "Physics", 21, 69.75]
list2 = [1, 2, 3, 4, 5]

print ("Item at 0th index in list1: ", list1[0])
print ("Item at index 2 in list2: ", list2[2])

它将产生以下输出 -

Item at 0th index in list1: Rohan
Item at index 2 in list2: 3

使用负索引访问列表项

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

我们还可以通过使用负整数来表示从列表末尾开始的位置,从而访问具有负索引的列表项。

在以下示例中,我们将访问具有负索引的列表项 -


list1 = ["a", "b", "c", "d"]
list2 = [25.50, True, -55, 1+2j]

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

我们得到的输出如下所示 -

Item at 0th index in list1: d
Item at index 2 in list2: True

使用 Slice 运算符访问列表项

Python 中的 slice 运算符用于从列表中获取一个或多个项目。我们可以通过指定要提取的索引范围,使用 slice 运算符访问列表项。它使用以下语法 -


 [start:stop]

哪里

  • start 是起始索引(含)。
  • stop 是结束索引 (不包括)。

如果我们没有提供任何索引,则 slice 运算符默认从索引 0 开始,并在列表中的最后一项处停止。

在下面的示例中,我们将检索从 “list1” 中索引 1 到最后一个和 “list2” 中索引 0 到 1 的子列表,并检索 “list3” 中的所有元素 -


list1 = ["a", "b", "c", "d"]
list2 = [25.50, True, -55, 1+2j]
list3 = ["Rohan", "Physics", 21, 69.75]

print ("Items from index 1 to last in list1: ", list1[1:])
print ("Items from index 0 to 1 in list2: ", list2[:2])
print ("Items from index 0 to index last in list3", list3[:])

以下是上述代码的输出 -

Items from index 1 to last in list1: ['b', 'c', 'd']
Items from index 0 to 1 in list2: [25.5, True]
Items from index 0 to index last in list3 ['Rohan', 'Physics', 21, 69.75]

从列表访问 Sub List

子列表是列表的一部分,它由原始列表中的连续元素序列组成。我们可以通过使用具有适当 start 和 stop 索引的 slice 运算符来访问列表中的子列表。

在此示例中,我们使用切片运算符 − 从 “list1” 中的索引 “1 to 2” 和 “list2” 中的索引 “0 to 1” 获取子列表 −


list1 = ["a", "b", "c", "d"]
list2 = [25.50, True, -55, 1+2j]

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

获得的输出如下 -

Items from index 1 to 2 in list1: ['b', 'c']
Items from index 0 to 1 in list2: [25.5, True]