Python 中的[:-1]

Vaibhav Vaibhav 2023年1月30日 2022年5月17日
  1. 在 Python 中切片
  2. 在 Python 中的 [ : -1] 的意義
Python 中的[:-1]

切片是程式語言中的一種操作,我們可以對物件序列或物件陣列或字串執行該操作。在切片中,我們使用函式和更簡單的符號對資料結構進行切片,以獲得子字串或子序列,或原始資料結構的子陣列。

在 Python 中切片

Python 是一種程式語言,這意味著它也支援切片。在 Python 中,主要有兩種方式可以執行切片。第一個使用 slice() 函式,第二個使用索引語法。

在 Python 中使用 slice() 建構函式切片

切片建構函式接受三個引數:startstopstep。此建構函式建立一個切片物件來拆分字串或任何物件序列。

  • start:這是切片應該開始的起始索引。它的預設值是 0
  • stop:這是切片應該結束的結束索引。這是一個強制性的引數。
  • step:這是在迭代切片過程的序列時應該採取的增量量。它的預設值為 1

為了更好地理解這個實用程式,讓我們看一些例子。請注意,在 Python 中,-1 表示最後一個索引。並且,在索引或迭代時,最終結果中不考慮 stop 索引。操作是在它之前的所有東西上執行的。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

slices = [
    slice(5),
    slice(0, -1),
    slice(1, -1, 2),
    slice(1, 4, 1),
    slice(5, -1),
    slice(3, -1, 3),
    slice(0, 0),
    slice(-1, 0, -1),
    slice(-5, 5, -3),
]

for i in range(len(slices)):
    print(s[slices[i]])
    
for i in range(len(slices)):
    print(a[slices[i]])

輸出:

ABCDE
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

請注意,當單個值傳遞給 slice() 建構函式時,該值將分配給 stop 索引。這就是為什麼對於 slice(5),我們得到的輸出是 ABCDE

在 Python 中使用索引語法切片

在 Python 中,我們可以使用以下語法來執行切片,而不是使用 slice() 建構函式來建立切片物件。

sequence[start : stop : step]

接受的引數與前一種方法相同;真正改變的是編寫它們的方式。startstopstep 的預設值分別是 0-11。請注意,我們可以跳過引數以使用預設值,但必須編寫冒號。讓我們看一些索引語法的例子,以便更好地理解它。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(s[5])
print(s[: -1])
print(s[0 : -1])
print(s[1 : -1 : 2])
print(s[1 : 4 : 1])
print(s[5 : -1])
print(s[3 : -1 : 3])
print(s[: 0])
print(s[-1 : 0 : -1])
print(s[-5 : 5 : -3])
print(a[5])
print(a[: -1])
print(a[0 : -1])
print(a[1 : -1 : 2])
print(a[1 : 4 : 1])
print(a[5 : -1])
print(a[3 : -1 : 3])
print(a[: 0])
print(a[-1 : 0 : -1])
print(a[-5 : 5 : -3])

輸出:

F
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
6
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

在 Python 中的 [ : -1] 的意義

如我們所見,此語法屬於索引語法。[ : -1] 將列印除最後一個之外的所有序列元素。讓我們看一些例子來理解這個概念。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(s[ : -1])
print(a[ : -1])

輸出:

ABCDEFGHIJKLMNOPQRSTUVWXY
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相關文章 - Python List