English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione slice() restituisce un oggetto slice, che può essere utilizzato per la slice di stringhe, liste, tuple e così via.
L'oggetto slice viene utilizzato per effettuare la slice di una sequenza data(stringa,byte,tupla,listaoIntervallo)o qualsiasi oggetto che supporta il protocollo sequenza (implementa i metodi __getitem__() e __len__())。
Sintassi di slice():
slice(start, stop, step)
slice() può accettare tre parametri:
start(opzionale) - Intero, utilizzato come punto di partenza della slice dell'oggetto. Se non fornito, il valore predefinito è None.
stop- Intero, fino a quando avviene la slice. La slice inizia all'indicestop-1(ultimo elemento)posizioneFine.
step(opzionale) - Valore intero, utilizzato per determinare l'incremento tra ogni indice durante la slice. Se non fornito, il valore predefinito è None.
# Include index (0, 1, 2) result1 = slice(3) print(result1) # Include index (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Risultato di output
slice(None, 3, None) slice(1, 5, 2)
In questo caso, result1 e result2 sono oggetti slice.
Ora che abbiamo capito l'oggetto slice, vediamo come estrarre una sottosequenza, una sottolista, un sottotupla e così via dall'oggetto slice.
# Il programma ottiene una sottosequenza dalla stringa fornita py_string = 'Python' # stop = 3 # Include 0, 1 e 2 indici slice_object = slice(3) print(py_string[slice_object]) # Pyt # start = 1, stop = 6, step = 2 # Include 1, 3 e 5 indici slice_object = slice(1, 6, 2) print(py_string[slice_object]) # yhn
Risultato di output
Pyt yhn
py_string = 'Python' # start = -1, stop = -4, step = -1 # Include gli indici -1, -2 e -3 slice_object = slice(-1, -4, -1) print(py_string[slice_object]) # noh
Risultato di output
noh
py_list = ['P', 'y', 't', 'h', 'o', 'n'] py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # Include gli indici 0, 1 e 2 slice_object = slice(3) print(py_list[slice_object]) # ['P', 'y', 't'] # Include gli indici 1 e 3 slice_object = slice(1, 5, 2) print(py_tuple[slice_object]) # ('y', 'h')
Risultato di output
['P', 'y', 't'] ('y', 'h')
py_list = ['P', 'y', 't', 'h', 'o', 'n'] py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # Include gli indici -1, -2 e -3 slice_object = slice(-1, -4, -1) print(py_list[slice_object]) # ['n', 'o', 'h'] # Include gli indici -1 e -3 slice_object = slice(-1, -5, -2) print(py_tuple[slice_object]) # ('n', 'h')
Risultato di output
['n', 'o', 'h'] ('n', 'h')
L'oggetto slice può essere sostituito con la sintassi di indice in Python.
Puoi alternare tra la seguente sintassi per il taglio:
obj[start:stop:step]
Ad esempio
py_string = 'Python' # Include gli indici 0, 1 e 2 print(py_string[0:3]) # Pyt # Include l'indice 1 e 3 print(py_string[1:5:2]) # yh
Risultato di output
Pyt yh