Fetta di pitone ()

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 Nonese 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 è Nonese 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, result1e result2sono 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 

Articoli interessanti...