Python Programming

Creando Arreglos Bidimensionales en Python

Spread the love

Las matrices, o arreglos bidimensionales, son estructuras de datos fundamentales en programación, especialmente cruciales para tareas como procesamiento de imágenes, álgebra lineal y desarrollo de juegos. Si bien Python no tiene un tipo de matriz 2D integrado como algunos lenguajes (por ejemplo, C++), ofrece varias maneras eficientes y elegantes de crearlas y manipularlas. Este artículo explora tres enfoques populares: comprensión de listas, bucles anidados y la poderosa biblioteca NumPy.

Tabla de Contenido

Método de Comprensión de Listas

La comprensión de listas ofrece una forma concisa y «pythonica» de crear matrices 2D, particularmente beneficiosa al inicializar con valores generados a partir de fórmulas o patrones. Utiliza comprensiones de listas anidadas, donde el bucle externo maneja las filas y el interno las columnas.


# Matriz 3x4 llena de ceros
rows = 3
cols = 4
array_2d = [[0 for _ in range(cols)] for _ in range(rows)]
print(array_2d)  # Salida: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

# Matriz 3x3 con valores basados en los índices de fila y columna
array_2d = [[i + j for j in range(3)] for i in range(3)]
print(array_2d)  # Salida: [[0, 1, 2], [1, 2, 3], [2, 3, 4]]

# Matriz 2x2 con números aleatorios (requiere importar random)
import random
array_2d = [[random.randint(1,10) for _ in range(2)] for _ in range(2)]
print(array_2d) # Salida: (Ejemplo) [[7, 2], [9, 5]]

Método de Bucles Anidados

Este enfoque utiliza bucles for anidados con range, iterando a través de filas y columnas para construir el arreglo elemento por elemento. Es más verboso que la comprensión de listas, pero puede ser más fácil de entender para principiantes.


rows = 3
cols = 4

array_2d = []
for i in range(rows):
    row = []
    for j in range(cols):
        row.append(0)  # O cualquier otro valor de inicialización
    array_2d.append(row)

print(array_2d)  # Salida: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

rows = 3
cols = 3
array_2d = []
for i in range(rows):
    row = []
    for j in range(cols):
        row.append(i*cols + j) #Ejemplo llenando con números secuenciales
    array_2d.append(row)
print(array_2d) # Salida: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

Arreglos NumPy

NumPy es una poderosa biblioteca para computación numérica en Python. Su función numpy.array() proporciona una creación y manipulación eficientes de arreglos multidimensionales. Los arreglos NumPy ofrecen un rendimiento significativamente más rápido que las listas de Python para operaciones numéricas.


import numpy as np

# Matriz 3x4 llena de ceros
array_2d = np.zeros((3, 4))
print(array_2d)

# Matriz 3x3 llena de unos
array_2d = np.ones((3, 3))
print(array_2d)

# Matriz 2x2 llena con un valor específico
array_2d = np.full((2, 2), 7)
print(array_2d)

# Matriz identidad 3x3
array_2d = np.eye(3)
print(array_2d)

# Matriz 2x3 con números aleatorios entre 0 y 1
array_2d = np.random.rand(2, 3)
print(array_2d)

# Matriz 2x2 con enteros aleatorios entre 1 y 10
array_2d = np.random.randint(1, 11, size=(2,2))
print(array_2d)

NumPy ofrece varias funciones para inicializar arreglos con diversos valores y patrones, lo que lo convierte en la opción preferida para cálculos numéricos que involucran matrices 2D. Recuerda importar numpy as np antes de usar estas funciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *