Python中的正索引和负索引?


通过索引,我们可以访问Python序列数据类型中的项目。字符串、列表、元组和范围对象都是序列数据类型。在本教程中,我们将更详细地介绍索引。

什么是列表索引?

任何编程语言中的任何线性数据结构都是围绕索引构建的。每台机器的默认索引从0开始,一直持续到n-1。在这种情况下,n代表相应数据结构中项目的总数。类型包括

  • 正索引 - 从0递增到1。

  • 负索引 - 每次遍历都从尾部移动到头部,从最后一个元素开始。

这些方便了我们访问此数据结构的许多组件的能力。让我们在下一部分检查这些过程。

元组索引

与我们访问列表和字符串中的元素的方式类似,我们可以访问元组中的元素。因此,索引和切片是我们访问项目所需的唯一方法。此外,索引很简单,从索引零开始,就像在列表中一样。此外,我们放在方括号内的数字代表元组的索引。让我们看看一些使用元组索引来检索元组元素的实例。

示例1

tup1 = (10, 3, 4, 22, 1)
# for accessing the first element of the tuple
print(tup1[0])

输出

10

示例2

tup1 = (10, 3, 4, 22, 1)
# accessing the third element of the tuple
print(tup1[2])

输出

4

示例3

tup1 = (10, 3, 4, 22, 1)
print(tup1[10])
# gives an error as the index is only up to 4

输出

IndexError: tuple index out of range

示例4

tup1 = (10, 3, 4, 22, 1)
print(tup1[1+3])
# the expression inside the square brackets results in an integer index 4. Hence, we get the element at the 4th index.

输出

1

Python中的基于零的索引

在Python中,基于正零的索引是访问可迭代项目的基本方法。

因此,从0开始的索引可以指代可迭代项中的任何元素。

在基于零的索引中,第一个元素的索引为0,第二个元素的索引为1,依此类推。

示例5

myList = [1, 2, 3, 4, 5]
# NORMAL INDEXING
print(myList[0])
print(myList[1]) 
print(myList[2])
# NEGATIVE INDEXING (STARTS FROM THE LAST ELEMENT IN THE LIST)
print(myList[-1])
print(myList[-2])
print(myList[-3])
print(myList[-3:])

输出

1
2
3
5
4
3
[3, 4, 5]

负索引

如果我们希望从结尾开始打印组件,我们也可以使用负索引。此外,通过用负号指定索引号,我们可以执行负元组索引(-)。因此,这意味着编译器开始反向考虑元素,从元组中最后出现的元素开始。

示例3

tup = (22, 3, 45, 4, 2.4, 2, 56, 890, 1)
print(tup[-4])

输出

2

现在,我们也可以在切片中使用负索引。

示例4

tup = (22, 3, 45, 4, 2.4, 2, 56, 890, 1)
print(tup[-4:-1])

输出

(2, 56, 890)

元组index()方法

元组index()函数有助于查找元组中元素的索引或位置。基本上,此函数有两个用途:

给出元组中每个元素的第一个实例。

如果元组中不存在指定的元素,则抛出错误。

语法

tuple.index(value)

示例5:使用负索引删除元素

使用pop()函数并在其中传入-1作为参数,我们可以删除该列表的最后一个元素,然后得到一个新列表。

my_list = [45, 5, 33, 1, -9, 8, 76]
my_list.pop(-1)
print(my_list)

输出

[45, 5, 33, 1, -9, 8]

示例6:查找元素的索引

tup = (22, 3, 45, 4, 2.4, 2, 56, 890, 1)
print(tup.index(45))
print(tup.index(890))
#prints the index of elements 45 and 890

输出

2
7

在Python列表中使用负索引的优点

  • 需要更少的代码行,并且在一行中完成反转。

  • 简化了复杂的过程。

  • 运行速度快,同时需要较低的复杂度

结论

总而言之,Python允许从零开始的正索引和从-1开始的负索引。在Python中,负索引表示索引过程从可迭代项的末尾开始。最后一个元素位于索引-1处,倒数第二个元素位于索引-2处,依此类推。Python计算机语言中的数组支持负索引,但大多数其他编程语言不支持。这意味着索引值为-1提供最后一个元素,-2提供数组的倒数第二个元素。负索引从数组的末尾开始。

(2, 56, 890)

更新于:2023年5月5日

4K+ 次查看

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.