Python中的负数索引(Negative Indexing)是什么?

2025年1月5日 | 阅读8分钟

引言

在本教程中,我们将学习Python中的负数索引。它具有许多特性和功能。负数索引是其中一项功能。它允许您通过使用负数索引度量来从末尾访问某个部分(例如列表、字符串或元组)的内容。

什么是负数索引?

索引是访问元素或项的方法。它是基于序列中元素的位置或顺序的数组。例如,如果您有一个数字列表,您可以使用索引来检索列表中的第一个、第二个、第三个或其余项。Python中的索引是从零开始的。

程序代码

在这里,我们提供一个Python中索引的程序代码。代码如下:

输出

现在我们运行上述代码并从中查找值。输出如下:

 
The second element of the given list is: 20
The third element of the given list is: 34
The fourth element of the given list is: 48
The fifth element of the given list is: 56
The sixth element of the given list is: 67   

程序代码

在这里,我们提供一个Python中负数索引的程序代码。代码如下:

输出

现在我们运行上述代码并从中查找值。输出如下:

 
The last element of the given list is: 67
The second last element of the given list is: 56
The third last element of the given list is: 48
The fourth last element of the given list is: 34
The fifth last element of the given list is: 20   

Python中负数索引的工作原理

Python将序列的长度加到负数索引上以获得正数索引。例如,如果您有一个包含五个元素的列表,并且使用索引-1,Python会将5(列表长度)加到-1(索引)上,得到4(正数索引)。然后它将返回列表中第3个位置的内容。

一般来说,如果您有一个包含n个元素的数组,并使用-i索引(其中i是一个正数),那么Python会将n(数组长度)加到-i(索引)上,得到n-i(正数索引)。然后它返回行中位置为n-i的元素。负数索引是一种无需计算正数索引即可从数组末尾访问元素的简单方法。

在Python中使用负数索引

在Python中,您可以在任何序列类型(如列表、字符串或元组)上使用负数索引。在这里,我们讨论一些Python中负数索引的示例。

程序代码 1

在这里,我们提供一个使用Python中的负数索引查找序列最后一个元素的程序代码。我们可以使用-1索引来获取给定序列的最后一个元素。代码如下:

输出

现在,我们运行上述代码并查找所有给定序列的最后一个元素。输出如下:

 
The last element of the list is: 34
The last character of the string is: d
The last element of the tuple is: 18
The last element of the range is: 24   

程序代码 2

在这里,我们提供一个使用Python中的负数索引查找序列倒数第二个元素的程序代码。我们可以使用-2索引来获取给定序列的倒数第二个元素。代码如下:

输出

现在,我们运行上述代码并查找所有给定序列的倒数第二个元素。输出如下:

 
The second last element of the list is: 23
The second last character of the string is: l
The second last element of the tuple is: 27
The second last element of the range is: 23   

程序代码 3

在这里,我们提供一个使用Python中的负数索引查找序列末尾第一个元素的程序代码。我们可以使用-len(范围)选项来获取给定序列末尾的第一个元素。这等同于使用索引0来获取序列开头第一个元素。代码如下:

输出

现在,我们运行上述代码并查找所有序列末尾的第一个元素。输出如下:

 
The first element from the end of the list is: 10
The first character from the end of the string is: H
The first element from the end of the tuple is: 34
The first element from the end of the range is: 0   

程序代码4

在这里,我们提供一个使用Python中的负数索引进行切片的程序代码。我们可以使用带有负数索引的切片来反转任何部分。切片是通过指定起始索引、结束索引和可选的步长来获取数组的子序列或部分的方法。切片的语法是string [start:end:step]。如果省略了这些参数中的任何一个,Python将使用默认值。代码如下:

输出

现在,我们运行上述代码并查找序列中的元素。在这里,我们可以看到带有负数索引和步长-1的切片会反转顺序。这是因为它从最后一个元素(-1)开始,以步长-1向后移动,直到到达第一个元素(-len(sequence))。输出如下:

 
[10, 12, 23, 34]
[34, 23, 12, 10]
[34, 23, 12, 10]   

结论

在这里,我们正在学习Python中的负数索引。这对于获取给定序列的最后几个元素和回溯序列非常重要。它还可以用于执行其他需要访问终端的任务。在这里,我们还学习了一些使用Python进行负数索引的程序代码。