Python 中的正索引和负索引?
通过索引,我们可以访问 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 提供数组的倒数第二个元素。数组的末尾是负索引的开始位置。