Python 正数和负数索引
通过索引,我们可以访问Python序列数据类型中的项目。字符串、列表、元组和范围对象都是序列数据类型。在本教程中,我们将更详细地介绍索引。
列表索引是什么
任何编程语言中的线性数据结构都是围绕索引构建的。每个机器的默认索引从0开始,一直持续到n-1。在这种情况下,n表示相应数据结构中的总项目数。类型包括:
- 正数索引 - 从0增加到1。
-
负数索引 - 每次遍历都从尾部到头部,从最后一个元素开始。
这些便于我们访问这种数据结构的许多组件。让我们在下一部分中详细介绍这些过程。
元组索引
与列表和字符串访问元素的方式相似,我们可以访问元组中的元素。因此,索引和切片是我们访问项目所需的唯一方法。此外,索引是直接的,从索引0开始,就像在列表中一样。此外,在方括号中放入的数字表示元组的索引。让我们看一些使用元组索引来检索元组元素的实例。
示例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)
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))
#prints the index of elements 45 and 890
输出
2
7
使用Python列表中的负索引的优点
- 需要更少的代码行,可以通过一行代码完成反转。
-
简化了复杂的过程。
-
在要求较少的复杂性的同时运行速度很快。
结论
总之,Python允许从零开始的正索引和从-1开始的负索引。在Python中,负索引表示索引过程从可迭代对象的末尾开始。最后一个元素位于索引-1处,倒数第二个位于索引-2处,以此类推。负索引在Python计算机语言中的数组中得到支持,但在大多数其他编程语言中不支持。这意味着索引值-1提供了最后一个元素,-2则提供了数组的倒数第二个元素。负索引的起始位置是数组的末尾。