La funzione slice () restituisce un oggetto slice che può essere utilizzato per suddividere stringhe, elenchi, tuple ecc.
L'oggetto slice viene utilizzato per suddividere una determinata sequenza (stringa, byte, tupla, elenco o intervallo) o qualsiasi oggetto che supporti il protocollo della sequenza (implementazioni __getitem__()
e __len__()
metodo).
La sintassi di slice()
è:
fetta (inizio, fine, passo)
parametri slice ()
slice()
può assumere tre parametri:
- start (opzionale) - Numero intero iniziale in cui inizia l'affettatura dell'oggetto. Predefinito
None
se non fornito. - fermare Lo slicing si ferma all'indice stop -1 (ultimo elemento) .
- step (opzionale) - Valore intero che determina l'incremento tra ogni indice per l'affettatura. Il valore predefinito è
None
se non fornito.
Esempio 1: creare un oggetto porzione per il taglio
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Produzione
slice (Nessuno, 3, Nessuno) slice (1, 5, 2)
Qui, result1
e result2
sono oggetti slice.
Ora che conosciamo gli oggetti slice, vediamo come possiamo ottenere sottostringhe, sub-list, sub-tuple, ecc. Dagli oggetti slice.
Esempio 2: ottenere la sottostringa utilizzando l'oggetto slice
# Program to get a substring from the given string py_string = 'Python' # stop = 3 # contains 0, 1 and 2 indices slice_object = slice(3) print(py_string(slice_object)) # Pyt # start = 1, stop = 6, step = 2 # contains 1, 3 and 5 indices slice_object = slice(1, 6, 2) print(py_string(slice_object)) # yhn
Produzione
Pyt yhn
Esempio 3: ottenere la sottostringa utilizzando un indice negativo
py_string = 'Python' # start = -1, stop = -4, step = -1 # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_string(slice_object)) # noh
Produzione
noh
Esempio 4: ottenere sottolista e sottotupla
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices 0, 1 and 2 slice_object = slice(3) print(py_list(slice_object)) # ('P', 'y', 't') # contains indices 1 and 3 slice_object = slice(1, 5, 2) print(py_tuple(slice_object)) # ('y', 'h')
Produzione
('P', 'y', 't') ('y', 'h')
Esempio 5: ottenere sottolista e sottotupla utilizzando un indice negativo
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_list(slice_object)) # ('n', 'o', 'h') # contains indices -1 and -3 slice_object = slice(-1, -5, -2) print(py_tuple(slice_object)) # ('n', 'h')
Produzione
('n', 'o', 'h') ('n', 'h')
Esempio 6: utilizzo della sintassi di indicizzazione per il sezionamento
L'oggetto slice può essere sostituito con la sintassi di indicizzazione in Python.
In alternativa è possibile utilizzare la seguente sintassi per l'affettatura:
obj (start: stop: step)
Per esempio,
py_string = 'Python' # contains indices 0, 1 and 2 print(py_string(0:3)) # Pyt # contains indices 1 and 3 print(py_string(1:5:2)) # yh
Produzione
Pyt yh