Skip to content

Instantly share code, notes, and snippets.

@FabianVegaA
Last active April 25, 2025 14:37
Show Gist options
  • Save FabianVegaA/b8f6f839ae816a50087cdaa55ce040b1 to your computer and use it in GitHub Desktop.
Save FabianVegaA/b8f6f839ae816a50087cdaa55ce040b1 to your computer and use it in GitHub Desktop.

Resumen de slicing Python

Los slices son una forma de acceder a partes de una secuencia, como una lista o un objeto iterable como un np.array. Se pueden utilizar para acceder a elementos específicos o rangos de elementos en una secuencia.

Slicing en listas

Para acceder a elementos específicos o rangos de elementos en una lista, se utiliza la sintaxis lista[inicio:fin:paso]. Por ejemplo:

lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(lista[2:5])  # [2, 3, 4]
print(lista[:5])   # [0, 1, 2, 3, 4]
print(lista[5:])   # [5, 6, 7, 8, 9]
print(lista[::2])  # [0, 2, 4, 6, 8]

Slicing en arrays de NumPy

Para acceder a elementos específicos o rangos de elementos en un array de NumPy, se utiliza la sintaxis array[inicio:fin:paso]. Por ejemplo:

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(array[2:5])  # [2 3 4]
print(array[:5])   # [0 1 2 3 4]
print(array[5:])   # [5 6 7 8 9]
print(array[::2])  # [0 2 4 6 8]

Slicing en arrays de NumPy con múltiples dimensiones

Para acceder a elementos específicos o rangos de elementos en un array de NumPy con múltiples dimensiones, se utiliza la sintaxis array[inicio:fin:paso] para cada dimensión. Por ejemplo:

import numpy as np

array = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print(array[1:, 1:])   # [[4 5]
                       #  [7 8]]
print(array[:2, :2])   # [[0 1]
                       #  [3 4]]
print(array[::2, ::2]) # [[0 2]
                       #  [6 8]]

Modificación de elementos en arrays de NumPy

Para modificar elementos específicos o rangos de elementos en un array de NumPy, se utiliza la sintaxis array[inicio:fin:paso] = valor. Por ejemplo:

import numpy as np

array = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
array[1:, 1:] = 9
print(array)           # [[0 1 2]
                       #  [3 9 9]
                       #  [6 9 9]]

Creación de arrays de NumPy

Para crear arrays de NumPy, se utiliza la función np.array(). Por ejemplo:

import numpy as np

array1 = np.zeros((3, 3)) # [[0. 0. 0.]
                          #  [0. 0. 0.]
                          #  [0. 0. 0.]]

array2 = np.ones((3, 3)) # [[1. 1. 1.]
                         #  [1. 1. 1.]
                         #  [1. 1. 1.]]

array1[1:, 1:] = array2[:1, :1]
print(array1)          # [[0. 0. 0.]
                       #  [0. 1. 1.]
                       #  [0. 1. 1.]]

Indexación booleana

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# Filtrar elementos mayores que 5
print(array[array > 5])  # [6 7 8 9]

# Combinar condiciones
print(array[(array > 3) & (array < 8)])  # [4 5 6 7]

# Con arrays 2D
matriz = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print(matriz[matriz % 2 == 0])  # [0 2 4 6 8] - Todos los valores pares

# Modificar elementos con indexación booleana
matriz[matriz % 2 == 0] = 1
print(matriz)  # [[1 1 1]
               #  [3 1 5]
               #  [1 7 1]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment