Crear una lista con Python

Crear listas con Python es una tarea recurrente en la programación.

Para ello recurrimos al método append para ello debemos tener nuestra lista así como conocerl los elementos que se desan agregar.

Recordemos que las listas en Python forman parte de lo que se conoce como estructuras de datos. De hecho, pueden almacenar diversos tipos de elementos.

En el siguiente ejemplo, vamos a crear una lista y agregaremos nombres a ella.

my_list = [] #Creamos una lista vacía

my_list.append('Jorge') #Agregamos el nombre Jorge
my_list.append('Mérida') #Agregamos el nombre Mérida
my_list.append('Nidia') #Agregamos el nombre Nidia

Podemos seguir agregamos los elementos que querramos. Para nuestro caso, cuando imprimimos, podemos ver los elementos de la lista.

my_list = ['Jorge', 'Mérida', 'Nidia']

Sin embargo, nos interesa poder determinar una cantidad de elementos a ingresar. Para ello, le pediremos al usuario que diga la cantidad de elementos que desea.

Con la finalidad de desarrollar nuestro proyecto, crearemos un archivo. Particularmente, le pondré el nombre de crear_lista.py.

Para que el usuario defina una cantidad de elementos a ingresar usamos la sentencia input. Además, este debe ser un valor numérico.

num_elem = int(input('Cantidad de elementos a ingresar: '))

Luego creamos la lista vacía y recurrimos a ciclo while.

Obtenemos el siguiente código:

num_elem = int(input('Cantidad de elementos: ')) #Cantidad de elementos

my_list = [] #Creación de la lista vacía

count = 0
while count < num_elem: #Ciclo para agregar elementos
    elem = input('Ingresa los elementos: ')
    my_list.append(elem)
    count += 1

Ejecutamos el archivo con la siguiente línea de comandos:

>>> python crear_lista.py

Lo que hará el programa es pedirnos el número de elementos a ingresar y luego el programa devuelve una lista con los elementos que agregamos.

Nótese que el tipo de elementos que ingresamos es string.

Una vez que sabemos que nuestro programa funciona, podemos hacer que el lleando de los elementos se realicen dentro de una función.

Llamaremos a esta función agregar_elementos que recibirá como parámetro el número que ingrese el usuario.

def agregar_elementos(num_elem):
    my_list = []
    count = 0
    while count < num_elem:
        elem = input('Ingresa los elementos: ')
        my_list.append(elem)
        count += 1
    return my_list

Organizamos nuestro código agregando las siguientes líneas de código:

if __name__ == '__main__':
    num_elem = int(input('Cantidad de elementos: '))
    elementos = agregar_elementos(num_elem)

    print(elementos)

Ahora se nos presenta un problema adicional.

¿Qué sucede si el usuario no ingresa un número?, pues el programa se cae. Ello es debido a que no hemos implementado ningún método que valide el número de elementos de la lista que el usuario desea agregar.

Para ello, crearemos otro método al que llamaremos check_num_elem. Este método contiene captura de errores, try except.

def check_num_elem():
    while True:
        try:
            num_elem = int(input('Cantidad de elementos: '))
        except ValueError:
            print('Solo debes ingresar números.')
            continue

        if num_elem <= 0:
            print('Ingresa un número positivo.')
            continue
        else:
            break

    return num_elem

De esta manera, nos aseguramos que, en tanto el usuario no ingrese un valor válido (debe ser numéro y positivo), el programa no podrá continuar ejecutándose.

¡Listo!, hemos terminado.

Nuestro programa queda así.

def agregar_elementos(num_elem):
    my_list = []
    count = 0
    while count < num_elem:
        elem = input('Ingresa los elementos: ')
        my_list.append(elem)
        count += 1
    return my_list

def check_num_elem():
    while True:
        try:
            num_elem = int(input('Cantidad de elementos: '))
        except ValueError:
            print('Solo debes ingresar números.')
            continue

        if num_elem <= 0:
            print('Ingresa un número positivo.')
            continue
        else:
            break

    return num_elem

if __name__ == '__main__':
    num_elem = check_num_elem()

    elementos = agregar_elementos(num_elem)

    print(elementos)

Ahora si, ejecutamos el archivo y agregamos los elementos que querramos.

>>> python crear_lista.py

Deja una respuesta

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