Python 中的正索引和负索引?

pythonserver side programmingprogramming

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

什么是列表索引?

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

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

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

这些有助于我们访问此数据结构的许多组件。让我们在下一部分中检查这些过程。

元组索引

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

示例 1

tup1 = (10, 3, 4, 22, 1)
# 用于访问元组的第一个元素
print(tup1[0])

输出

10

示例 2

tup1 = (10, 3, 4, 22, 1)
# 用于访问元组的第三个元素
print(tup1[2])

输出

4

示例 3

tup1 = (10, 3, 4, 22, 1)
print(tup1[10])
# 给出错误,因为索引最多只有 4

输出

IndexError:元组索引超出范围

示例 4

tup1 = (10, 3, 4, 22, 1)
print(tup1[1+3])
# 方括号内的表达式得出整数索引 4。因此,我们得到了第 4 个索引处的元素。

输出

1

Python 中的零基索引

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

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

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

示例 5

myList = [1, 2, 3, 4, 5]
# 正常索引
print(myList[0])
print(myList[1])
print(myList[2])
# 负索引(从列表中的最后一个元素开始)
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)

Tuple index() 方法

Tuple 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))
#打印元素 45 和 890 的索引

输出

2
7

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

  • 需要的代码行更少,一行代码即可完成反转。

  • 简化复杂的过程。

  • 操作快速,同时要求的复杂性很少

结论

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


相关文章