Curso de Python

Aprende PYTHON de una buena vez

Cabecera principal de presentación del curso de Inicia en la programación en Python. Aprende a programar en Python desde cero
gratis
texto + video

Tablas (matrices o listas de listas) en Python. Uso y creación de tablas en Python

Las tablas en Python forman parte de lo que se conoce como estructuras de datos que nos ofrece Python. Cabe resaltar que, si has programado en otros lenguajes, las tablas no son más que lo que se conoce como matrices o listas de listas en otros lenguajes de programación.

Las tablas, son una estructura de datos de vital importancia, pues son útiles para resolver múltiples problemas que no podríamos solucionar sin ellas. Las tablas son utilizadas para almacenar múltiples valores en una única variable. De hecho, al final se trata de una lista que contiene otras listas en su interior.

En general, la lógica es la misma que se maneja en las listas y su propósito es el mismo. Sin embargo, las tablas en Python van un poco más allá, pues en esencia te dan múltiples niveles más de "anidamiento", teniendo así listas al interior de otras. No nos vamos a detener mucho en el proceso, pues la lógica es bastante similar.

Ejemplo de tablas en Python

Imaginemos que queremos crear un programa con el cual podamos de algún modo almacenar los nombres e identificaciones de diferentes personas. De hecho, este mismo ejemplo, lo vismos en el artículo sobre listas. Pues en esta ocasión, vamos a resolverlo usando solo una lista, la cual a su vez contendrá otras dos (creando así una tabla). Una con los nombres y otra con las identificaciones. Analicemos el problema y aprendamos a usar tablas en Python:

Usando tablas en Python:

¡Pues bien!, Las tablas o las matrices han venido para ayudarnos en múltiples circunstancias similares a las del ejemplo. Dado que una lista es capaz de almacenar múltiples listas en su interior, la converimos en una tabla (con filas y columnas) y asignamos valores en cada casilla según requerimos, indicando la fila y la columna correspondientes.

Muy bien, ahora que sabemos la gran utilidad de las tablas, listas de listas o matrices para nosotros, aprendamos más acerca de ellas, veamos cómo crear una tabla, cómo recorrerlas y algunos ejemplos de esto.

¿Cómo crear una tabla en Python?

Para declarar una tabla en Python, se deben seguir las mismas normas básicas que se siguen para declarar una lista, teniendo en cuenta que contendrá listas en su interior:

nombre_de_la_tabla = [] # También puedes iniciar la listas en el interior nombre_de_la_tabla = [[], []]

Una vez la tabla es creada, podemos agregarle elementos, quitarlos, obtenerlos, y varias cosas más, tal como hacemos con la listas tradicionales.

Ya tenemos claro cómo declarar una tabla en Python. Sin embargo, aún no sabemos cómo obtener los elementos de esa tabla, es decir, una vez dicha tabla tiene los elementos que queremos, cómo podemos obtener esa información y más aún, cómo obtener un elemento específico dentro de esa tabla. Veámoslo:

Obtener el valor de un elemento de una tabla en Python

Es muy común el caso en el que tenemos una tabla con una enorme cantidad de elementos, sin embargo, de todos esos elementos solo nos interesa uno en especial y corremos con la suerte de saber cuál es su valor o mejor aún su posición específica dentro de la tabla. Con posición me refiero a la fila y a la columna. Es decir la lista que contiene el elemento en su interior (fila) y luego el elemento específico en esa lista (columna).

mi_tabla = [['Juan', 'Laura'], [21, 32]] # Muestra Juan (la primera posición es la 0, 0) print(mi_tabla[0][0]) # Muestra 32 (última fila, segunda columna) print(mi_tabla[-1][1]) # Muestra 21 print(mi_tabla[1][0]) # Muestra Laura print(mi_tabla[0][1]) # Muestra la lista con nombres print(mi_tabla[0])

Acá hay varias cosas por entender. Así que veámoslas de una en una:

  1. Puedes acceder a una posición usando el nombre de la variable y corchetes "[]" indicando en su interior el índice que quieres obtener.
  2. Ahora se usan corchetes para cada lista. El primer conjunto de corchetes accede a la lista, el segundo a una posición de esa lista.

Ya tenemos entonces una forma de acceder de forma individual a un elemento de una tabla en Python, vamos a ver ahora como obtener todos los elementos de una tabla, recorriendo uno a uno:

Recorrer una tabla en Python

En este caso, los ciclos vienen de gran ayuda. El caso general, sería hacerlo por medio de un ciclo for que vaya accediendo uno por uno a los elementos o incluso aumentando de uno en uno el índice que queremos acceder de la tabla, tanto para la fila como para la columna.

mi_tabla = [['Juan', 'Laura'], [21, 32]] # Recorriendo los elementos # Accedemos a cada fila (que es una lista) for fila in mi_tabla: # Accedemos a cada columna dentro de la fila for columna in fila: print(columna) # Recorriendo los índices # i serían las filas for i in range(len(mi_tabla)): for j in range(len(mi_tabla[i])): print(mi_tabla[i][j]) # Con while y los índices fila = 0 while fila < len(mi_tabla): columna = 0 while columna < len(mi_tabla[fila]): print(mi_tabla[fila][columna]) columna += 1 fila += 1

Como puedes ver, el ciclo for puede acceder directamente a los elementos y recorrerlos uno por uno. Sin embargo, a veces puedes necesitar los índices y también puedes acceder a cada elemento por medio de ese índice ya sea usando un ciclo for o incluso un while con un contador.

Como imaginarás, al ser simplemente listas con listas en su interior, seguirás teniendo acceso a las mismas funciones para agregar, buscar y eliminar elementos, así que hagamos uso de todo ello para resolver el ejercicio que planteamos al comienzo.

Ejemplo de tablas en Python

El problema es simple, queremos crear un programa con el cual podamos guardar los nombres y las identificaciones de múltiples personas (no sabemos cuántas) sin perder ninguna de ellas. El usuario es el encargado de suministrar la información de cada persona. Vamos a suponer que el usuario solo podrá ingresar un máximo de tres personas, para así poder comprobar fácilmente nuestro programa. Sin embargo, puedes hacerlo sin límite si prefieres:

# Creamos la tabla con listas vacías al comienzo usuarios = [[], []] # Definimos un tamaño para las listas de la tabla # Lo puedes cambiar si quieres tamaño = 3 # Leemos los datos y los agregamos a la tabla for i in range(tamaño): print("Ingrese los datos de la persona", i + 1) nombre = input("Nombre: ") identificación = input("Identificación: ") # La primera lista es para los nombres usuarios[0].append(nombre) # La segunda lista es para las identificaciones usuarios[1].append(identificación) # Ahora mostremos los valores en la tabla for i in range(tamaño): print("Mostrando los datos de la persona", i + 1) print("Nombre:", usuarios[0][i]) print("Identificación:", usuarios[1][i])

Estoy seguro de que a estas alturas comprendes bien qué hace cada una de estas líneas. En caso de que no comprendas nada de esto, dale una mirada de nuevo al artículo sobre listas, la sección de ciclos o la sección de salida de datos o incluso entrada de datos.

Nota: Si algo no es muy claro, detectas algún error, tienes alguna sugerencia o simplemente tienes algo que comentarme, puedes hacerlo con total tranquilidad en la sección de comentarios.

Ahora que ya conocemos todo bien acerca de las tablas en Python (matrices o listas de listas en otros lenguajes), podremos leernos en el siguiente contenido.

La última actualización de este artículo fue hace 4 años

Foto de JuanDMeGon

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador
Web & Instructor

¡Listo!

En breve recibirás un mensaje de confirmación. Verifica, por si acaso, la carpeta de correo no deseado.

...

Si te parece bien, te enviaré de vez en cuando, mensajes de interés sobre los temas que se tratan en el sitio.

Tu dirección de correo electrónico será almacenada con un interés según el artículo en el que te encuentres.

Por supuesto, puedes cancelar tu suscripción en cualquier momento.