Función slice() de Python
Funciones integradas de Python3
slice()Es una función integrada de Python que se utiliza para crear objetos slice.
El objeto slice se utiliza para especificar el rango de segmentación de una secuencia y se puede usar en cualquier lugar que admita operaciones de segmentación, como listas, tuplas, cadenas, etc.
Significado de la palabra: sliceSignifica "slice" (rebanada) y se utiliza para crear objetos slice.
Sintaxis básica y parámetros
Formato de sintaxis
slice(stop) slice(start, stop) slice(start, stop, step)
Descripción de parámetros
- Parámetro start(Opcional):
- Tipo: entero
- Descripción: posición inicial del slice, por defecto 0.
- Parámetro stop:
- Tipo: entero
- Descripción: posición final del slice (no incluida).
- Parámetro step(Opcional):
- Tipo: entero
- Descripción: paso del slice, por defecto 1.
Descripción de la función
- Valor de retorno: Devuelve un objeto slice.
- Característica: El objeto slice se puede reutilizar, lo que resulta muy conveniente.
Ejemplos
Ejemplo 1: Crear un objeto slice
Ejemplo
# Crear un objeto slice
s1 = slice(5) # De 0 a 5
s2 = slice(1, 5) # De 1 a 5
s3 = slice(0, 10, 2) # De 0 a 10, paso 2
# Usar en la segmentación de listas
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[s1]) # Salida: [0, 1, 2, 3, 4]
print(my_list[s2]) # Salida: [1, 2, 3, 4]
print(my_list[s3]) # Salida: [0, 2, 4, 6, 8]
s1 = slice(5) # De 0 a 5
s2 = slice(1, 5) # De 1 a 5
s3 = slice(0, 10, 2) # De 0 a 10, paso 2
# Usar en la segmentación de listas
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[s1]) # Salida: [0, 1, 2, 3, 4]
print(my_list[s2]) # Salida: [1, 2, 3, 4]
print(my_list[s3]) # Salida: [0, 2, 4, 6, 8]
Resultado esperado de la ejecución:
[0, 1, 2, 3, 4] [1, 2, 3, 4] [0, 2, 4, 6, 8]
Análisis del código:
slice(5)equivalente a[0:5]。slice(1, 5)equivalente a[1:5]。slice(0, 10, 2)equivalente a[0:10:2]。
Ejemplo 2: Propiedades del objeto slice
Ejemplo
# Ver las propiedades del objeto slice
s = slice(1, 10, 2)
print(s.start) # Salida: 1
print(s.stop) # Salida: 10
print(s.step) # Salida: 2
# Índice negativo
s = slice(-3, -1)
print(s.start) # Salida: -3
print(s.stop) # Salida: -1
s = slice(1, 10, 2)
print(s.start) # Salida: 1
print(s.stop) # Salida: 10
print(s.step) # Salida: 2
# Índice negativo
s = slice(-3, -1)
print(s.start) # Salida: -3
print(s.stop) # Salida: -1
Resultado esperado de la ejecución:
1 10 2 -3 -1
Análisis del código:
- El objeto slice tiene tres propiedades: start, stop y step.
- Admite índices negativos.
Ejemplo 3: Aplicación práctica
Ejemplo
# Crear un slice reutilizable
first_three = slice(3)
last_three = slice(-3, None)
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[first_three]) # Salida: [1, 2, 3]
print(my_list[last_three]) # Salida: [7, 8, 9]
# Usar para segmentación multidimensional
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
row = slice(0, 2) # Las dos primeras filas
col = slice(1, 3) # Columnas 2-3
print([row[col] for row in matrix[row]])
# Salida: [[2, 3], [5, 6]]
first_three = slice(3)
last_three = slice(-3, None)
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[first_three]) # Salida: [1, 2, 3]
print(my_list[last_three]) # Salida: [7, 8, 9]
# Usar para segmentación multidimensional
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
row = slice(0, 2) # Las dos primeras filas
col = slice(1, 3) # Columnas 2-3
print([row[col] for row in matrix[row]])
# Salida: [[2, 3], [5, 6]]
Resultado esperado de la ejecución:
[1, 2, 3] [7, 8, 9] [[2, 3], [5, 6]]
La principal ventaja del objeto slice es que se puede reutilizar, lo que hace que el código sea más claro.
Funciones integradas de Python3
Otras extensiones