Python - 访问列表项



访问列表项

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

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

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

除此之外,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

使用切片运算符访问列表项

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

[start:stop] 

其中,

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

如果我们不提供任何索引,则切片运算符默认为从索引 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]

从列表中访问子列表

子列表是列表的一部分,它由原始列表中连续的元素序列组成。我们可以使用切片运算符和适当的起始和停止索引从列表中访问子列表。

示例

在这个例子中,我们使用切片运算符从“list1”中索引“1到2”和从“list2”中索引“0到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]
广告