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.