Python – Capítulo 11: ¡Qué lista que eres!

Objetivo: presentar una de las estructuras de datos estrella de Python: las listas.

En el capítulo de hoy realizaremos una primera aproximación a unas estructuras de datos muy particulares y tremendamente versátiles, las listas. Te anticipo que harás uso extensivo de ellas a lo largo de tu vida como programador en Python. Te encantarán no solo por su flexibilidad para adoptarlas en buen número de situaciones diversas, sino también por su eficiencia, la extremada rapidez de las operaciones efectuadas con ellas.

En esencia, una lista es una secuencia: una colección de objetos ordenados.

He aquí tu primera lista:

['Pera', 'Plátano', 'Manzana', 'Fresa']

Se trata de una lista que consta de cuatro elementos (en este caso, cuatro cadenas de caracteres). El primero es 'Pera' y el último 'Fresa'.

Observa que separamos cada elemento mediante una coma y que el contenedor en conjunto se delimita mediante un par de corchetes.

Los elementos de una lista no tienen por qué ser necesariamente del mismo tipo. En el siguiente ejemplo la lista contiene dos strings y dos números.

['Ajedrez', 7, 3, 'Pepino']

Accedemos a los distintos elementos de la lista a través de su índice, esto es, la posición del elemento dentro de la lista. Es importante tener presente que el primer elemento de la lista no tiene por índice uno, sino cero.

Volvamos a la lista del primer ejemplo, con cuatro elementos en total. El primero de ellos tiene por índice cero; el último tres. Te lo he puesto en negrita para que te lo repitas unas cuantas veces y lo asimiles bien. Es un error común comenzar a contar partiendo desde el 1.

En general, si una lista tiene n elementos, el índice del último será n-1.

Asignamos una variable a una lista del siguiente modo:

frutas = ['Pera', 'Plátano', 'Manzana', 'Fresa']

Para acceder, por ejemplo, al elemento de índice 2, escribiríamos

frutas[2]

Según lo explicado anteriormente, se trataría del tercer elemento, 'Manzana'.

El programa que figura a continuación ilustra de un modo básico el acceso a los elementos de una lista a través de su índice:

semana = ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo']

dia = int(input('Introduce un número del 1 al 7: '))

while dia < 1 or dia > 7:
    dia = int(input('Introduce un número del 1 al 7: '))

print('El día elegido se corresponde a un', semana[dia-1])

Su operativa es la siguiente: nos solicita que introduzcamos un número del 1 al 7 y, en función de ese valor, nos devuelve el día de la semana correspondiente (siendo el primero el lunes y el séptimo el domingo).

Comienza con la creación de una lista conteniendo los siete días de la semana. La almacenamos en la variable semana.

Introducimos después un número del 1 al 7 y lo guardamos en la variable dia.

El bucle while que aparece a continuación efectúa una sencilla comprobación: si el número que hemos introducido no está dentro del rango del 1 a 7, se nos solicita que repitamos la operación.

Finalmente, se imprime el día correspondiente. Observa cómo empleamos el índice: puesto que el primer elemento de la lista tiene por índice cero, habrá que restar uno al valor de la variable dia para que se muestre el día correcto. Esto es, el elemento contenido en semana[dia-1].

Y esto es suficiente por hoy. ¿Te han quedado claros los conceptos expuestos en el artículo? Si es así, enhorabuena, has colocado una pieza pequeña pero muy importante en el puzzle.

Javier Montero Gabarró


Fecha de la última revisión: 14 de septiembre de 2013


http://elclubdelautodidacta.es/wp/2011/07/python-capitulo-11-¡que-lista-que-eres/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

7 opiniones en “Python – Capítulo 11: ¡Qué lista que eres!”

  1. Buenas, otra vez por aquí, no es que me haya tomado vacaciones. sino al contrario con los años la universidad se vuelve más durilla con uno…

    Espero seguir avanzando lo que deje hecho un día, tengo que crearme un tabletime con las cosas a hacer, vaya que si no!

    Que bien ver listas… y que gran ejemplo para empezar, me tome un poco de tiempo para hacer un bucle así al introducir un número incorrecto, me vuelva a preguntar y tener la opción de ingresar el número otra vez.

    Saludos..

  2. hola, soy nuevo aqui, pero queria verificar algo.
    en la funcion while que esta en el programa, el “dia” no deberia ser > 7 ya que si es >8. yo podria ingresar el numero 8 y estaria ingresando un numero que no se encontrara en el rango de la lista.

    no se si se entiende

    saludos

    1. ¡Qué tal! No había visto tu mensaje por aquí hasta hoy… 🙂
      Recuerda que la mejor manera de aprender un lenguaje es a través de la práctica real programando. Búscate retos, aunque te parezcan simples y aplica lo que sabes a la vez que buscas respuestas a los problemas concretos que vayan apareciendo. Es importante equilibrar la teoría con la práctica.
      ¡Ánimo!

Deja un comentario