Rebanada de Python ()

La función slice () devuelve un objeto de división que se puede usar para dividir cadenas, listas, tuplas, etc.

El objeto slice se utiliza para cortar una secuencia determinada (cadena, bytes, tupla, lista o rango) o cualquier objeto que admita el protocolo de secuencia (implementos __getitem__()y __len__()método).

La sintaxis de slice()es:

 rebanada (inicio, parada, paso)

Parámetros de slice ()

slice() puede tomar tres parámetros:

  • start (opcional) : número entero inicial donde comienza el corte del objeto. Por defecto Nonesi no se proporciona.
  • stop : número entero hasta el que se realiza el corte. El corte se detiene en el índice de parada -1 (último elemento) .
  • paso (opcional) : valor entero que determina el incremento entre cada índice para el corte. Predeterminado Nonesi no se proporciona.

Ejemplo 1: crear un objeto de corte para cortar

 # contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))

Salida

 sector (Ninguno, 3, Ninguno) sector (1, 5, 2) 

Aquí, result1y result2son objetos de corte.

Ahora que sabemos sobre los objetos de corte, veamos cómo podemos obtener subcadenas, sublistas, subtuplas, etc.

Ejemplo 2: obtener una subcadena con un objeto de división

 # 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

Salida

 Pyt yhn 

Ejemplo 3: obtener una subcadena con un índice 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

Salida

 no h 

Ejemplo 4: obtener sublista y subtupla

 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') 

Salida

 ('P', 'y', 't') ('y', 'h') 

Ejemplo 5: obtener sublista y subtupla con índice 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')

Salida

 ('n', 'o', 'h') ('n', 'h') 

Ejemplo 6: uso de la sintaxis de indexación para la división

El objeto slice se puede sustituir por la sintaxis de indexación en Python.

Puede utilizar alternativamente la siguiente sintaxis para segmentar:

 obj (inicio: parada: paso)

Por ejemplo,

 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

Salida

 Pyt yh 

Articulos interesantes...