3.4 Matrices

Hasta ahora, vimos las listas, que son variables compuestas que pueden contener varios valores simultáneamente. Una lista puede verse como un agrupamiento lineal de variables, en la que cada una tiene una posición dentro de la línea:
    
       v = []

Esta lista puede representarse gráficamente como:

Este agrupamiento lineal o unidimensional puede extenderse fácilmente a dos dimensiones, en las que una dimensión puede interpretarse como la cantidad de elementos y la otra como la cantidad de componentes en cada elemento. Este agrupamiento se llama matriz, y es simplemente una lista de listas:

    m = []

    for i in range(0,X):
        m.append([])
 

 En esta matriz podemos guardar hasta m listas de elementos. Estos valores pueden representarse  lógicamente como una tabla con X filas de elementos. (Esta estructura es sólo una estructura lógica, no es la forma en que se guarda físicamente la matriz en  la memoria de la computadora)






Cada elemento puede accederse individualmente indicando sus dos subíndices, en lugar de uno solo. Así, la expresión:

       print(m[2][5])


mostrará por pantalla el valor 23, que es el dato guardado en la celda [2][5] de la matriz.

Para trabajar con matrices, necesitaremos utilizar dos subíndices, uno para cada dimensión.





import random

def Matrices():
    m=4 #Cantidad de filas
    n=5 #Cantidad de columnas
    matriz = []  #Crear la matriz
    for i in range(0,m):
        matriz.append([]) #Crear las filas de la matriz
        for j in range(0,n):
            matriz[i].append(random.randint(0, 100))
             #Cargar los elementos de la matriz con valores aleatorios de 0 a 100
    print( "Lista inicial:",matriz) # Imprimir la matriz completa en una línea
    print(matriz[2][3])   #Imprimir un elemento de la matriz
    for i in range(0,m):
        print(matriz[i]) # Imprimir cada fila de la matriz en una línea separada
             
Matrices()



En este ejemplo, primero cargamos una matriz con valores aleatorios, y luego mostramos dichos valores de diferentes maneras (en una línea y en formato de tabla).

En este ejemplo y los que siguen, trabajaremos con matrices de dos dimensiones, que pueden imaginarse como tablas. Todo esto es extensible a más dimensiones (listas de listas de listas de ...), aunque no sea lo común.

No hay comentarios:

Publicar un comentario