Listas y dicc por comprensión: operaciones usando bucle for, Ejemplos!

Anteriormente habíamos visto los métodos que nos permitían trabajar con listas y tuplas, en esta entrada vamos a aprender a crear iterables por comprensión, ya sean listas, diccionarios, cadenas.

 

Listas por comprensión

Las listas, tuplas, diccionarios son como dijimos antes conjuntos y estos surgen de la agrupación, ya sea por extensión o por comprensión.

Cuando agrupamos elementos por extensión cada elemento se enumera de manera explícita, es decir, se define uno por uno cada elemento que pertenece al grupo.

En cambio, cuando agrupamos elementos por comprensión lo hacemos sin definir uno por uno los elementos sino que los agrupamos por una propiedad en común.

Podemos crear una lista por extensión o por comprensión:

 

#Por extensión:

a = [0, 2, 4, 6 ,8]
print (a)


#Por comprensión

a = [x for x in range(9) if x % 2 == 0]
##  <Expression> for <Element> in <Iterable> if <condition>
print (a)

 

Cómo ves el resultado será el mismo, la diferencia es que la lista por comprensión fue creada a partir de la propiedad en común (ser pares) de los números en rango de 0 a 9 iterandolos para descartar aquellos que no cumplen la condición de ser divisibles por 2 con resto cero.

Si separamos el código y lo miramos atentamente vamos a ver que almacena en la lista «a»:

Primeramente se almacena en la variable «x» un rango de números del 0 al 9 y se itera cada uno. Luego presentando una condición if se expone que sólo se almacenarán aquellos cuya división por dos de resto 0.

Aprender a crear listas por comprensión nos va a permitir modificar una lista iterando sobre ella y aplicando ciertos filtros o condiciones, lo que nos presentara una elegante ventaja!

 

Sintaxis

La sintaxis para crear listas por comprensión consta de colocar entre corchetes una expresión seguida de la cláusula for para iterar y luego puede ir una condición para filtrar los resultados finales. Las listas por comprensión no modifican una lista existente sino que crean una nueva, en algunos casos temporal.

Venga, creemos algunas listas por comprensión a modo de ejemplo mientras exploramos su sintaxis!

ListaCuadrados = [x**2 for x in range(10)]
#                 <Expression> for <Element> in <Iterable>
print (ListaCuadrados)

Resultado: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Esto podría interpretarse como que estamos creando una lista llamada ListaCuadrados que contiene: la expresión x elevada al cuadrado para el elemento x de un rango de 0 a 10. Al realizar un bucle for se aplica el cuadrado para cada elemento generado por range.

Normalmente se coloca a la izquierda la expresión (transformación) a realizar y a la derecha la condición.

 

Crear listas a partir de otra lista

Podemos iterar una lista (así como cualquier iterable) creada anteriormente para extraer una nueva aplicando diversos filtros para lograr un objetivo específico, supongamos que tenemos una lista de nombres y queremos extraer aquellos cuyas iniciales sean vocales.

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 root <root@debian>
#  
vocales = ['A', 'E', 'I', 'O', 'U']
Nombres = ['Tamara', 'Marcelo', 'Martin', 'Juan', 'Alberto', 'Exequiel', 'Alejandro', 'Leonel', 'Antonio', 'Omar',
'Antonia', 'Amalia', 'Daniela', 'Sofia', 'Celeste', 'Ramon', 'Jorgelina', 'Anabela']
Nombresvocales = [nombre for nombre in Nombres if nombre[0] in vocales]
print (Nombresvocales)

 

Resultado: [‘Alberto’, ‘Exequiel’, ‘Alejandro’, ‘Antonio’, ‘Omar’, ‘Antonia’, ‘Amalia’, ‘Anabela’]

Para comprobar todas las vocales me fue necesario crear una lista aparte con las mismas, entonces se podría interpretar el código de la lista Nombresvocales como: nombre para nombre en la lista «Nombres» si el índice «0» de la iteración de cada «nombre» (elemento de la lista) se encuentran (in) en la lista vocales.

El bucle for recorre cada letra de cada elemento de la lista comparándolo con cada elemento de la lista vocales.

Puede parecer difícil de realizar al principio pero una vez que aprendemos como funciona el bucle for es cuestión de ir probando, a veces no sale a la primera 🙂

La mejor forma de aprender a iterar listas, cadenas o diccionarios es realizando ejercicios que me gustaría plantear en las siguientes entradas.

El código anterior es igual al siguiente:

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 root <root@debian>
#  
Nombresvocales = []
vocales = ['A', 'E', 'I', 'O', 'U']
Nombres = ['Tamara', 'Marcelo', 'Martin', 'Juan', 'Alberto', 'Exequiel', 'Alejandro', 'Leonel', 'Antonio', 'Omar',
'Antonia', 'Amalia', 'Daniela', 'Sofia', 'Celeste', 'Ramon', 'Jorgelina', 'Anabela']
for nombre in Nombres: #Para el elemento nombre, iteramos la lista Nombres
    if nombre[0] in vocales: #Si el índice 0 del elemento nombre está en la lista vocales
        Nombresvocales.append (nombre)#Agregamos el nombre a la lista Nombresvocales
    

print (Nombresvocales)

 

Resultado: [‘Alberto’, ‘Exequiel’, ‘Alejandro’, ‘Antonio’, ‘Omar’, ‘Antonia’, ‘Amalia’, ‘Anabela’]

En este otro código hacemos realmente lo mismo pero debemos primero crear la lista vacía donde irán los elementos que cumplan la condición: Nombresvocales y luego los añadimos a ella.

Esta segunda forma de hacerlo te permitirá comprender un poco mejor lo que hicimos en la primera, al no estar todo en una sola línea resulta más comprensible, pero si te fijas bien es básicamente lo mismo. Puedes intentar hacerlo de la segunda manera y luego tratar de traducir el código a la primera lo que te permitirá aprender a simplificar el código y pensarlo desde el punto correcto.

Ejemplo

Vamos a tratar de separar nuestra lista de nombres en dos listas una para los masculinos y otra para los femeninos, suponiendo que los nombres femeninos terminan en «a» y «e» en nuestro caso.

Para eso podemos utilizar casi el mismo código que usamos anteriormente pero cambiando el índice que comprobamos de [0] a [-1] para comprobar siempre la última letra de cada nombre.

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  

Listafemeninos = [] #Creamos la lista vacía
Listamasculinos = [] #Creamos la lista vacía

Nombres = ['Tamara', 'Marcelo', 'Martin', 'Juan', 'Alberto', 'Exequiel', 'Alejandro', 'Leonel', 'Antonio', 'Omar',
'Antonia', 'Amalia', 'Daniela', 'Sofia', 'Celeste', 'Ramon', 'Jorgelina', 'Anabela']
for nombre in Nombres: #Para el elemento nombre, iteramos la lista Nombres
    if nombre[-1] == 'a' or nombre[-1] == 'e': #Si el índice -1 del elemento nombre en Nombres es a o e
        Listafemeninos.append (nombre)#Agregamos el nombre a la lista Listafemeninos
    else:
        Listamasculinos.append (nombre)#Si no termina en a o e agregamos a Listamasculinos

print (Listafemeninos)
print ("-------------------")
print (Listamasculinos)

 

Resultado: 

[‘Tamara’, ‘Antonia’, ‘Amalia’, ‘Daniela’, ‘Sofia’, ‘Celeste’, ‘Jorgelina’, ‘Anabela’]
——————-
[‘Marcelo’, ‘Martin’, ‘Juan’, ‘Alberto’, ‘Exequiel’, ‘Alejandro’, ‘Leonel’, ‘Antonio’, ‘Omar’, ‘Ramon’]

 

Ahora hagámoslo como explicamos anteriormente creando directamente las listas mediante for.

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  



Nombres = ['Tamara', 'Marcelo', 'Martin', 'Juan', 'Alberto', 'Exequiel', 'Alejandro', 'Leonel', 'Antonio', 'Omar',
'Antonia', 'Amalia', 'Daniela', 'Sofia', 'Celeste', 'Ramon', 'Jorgelina', 'Anabela']

Listafemeninos = [nombre for nombre in Nombres if nombre[-1] == 'a' or nombre[-1] == 'e'] #Creamos la lista
Listamasculinos = [nombre for nombre in Nombres if nombre[-1] != 'a' and nombre[-1] != 'e'] #Creamos la lista

print (Listafemeninos)
print ("-------------------")
print (Listamasculinos)

 

Resultado: 

[‘Tamara’, ‘Antonia’, ‘Amalia’, ‘Daniela’, ‘Sofia’, ‘Celeste’, ‘Jorgelina’, ‘Anabela’]
——————-
[‘Marcelo’, ‘Martin’, ‘Juan’, ‘Alberto’, ‘Exequiel’, ‘Alejandro’, ‘Leonel’, ‘Antonio’, ‘Omar’, ‘Ramon’]

 

Como ves funciona perfectamente y lo único que hicimos fue meter el mismo código dentro de la lista. También en laLista a partir de otra lista por comprensión primera lista podríamos haber colocado un else y un append para añadir directamente aquellos que no cumplan la condición a la lista de masculinos, pero preferí hacer otro bucle for para ejemplificar.

En un ejemplo real suponiendo que tuviéramos 2000 nombres en una lista y alguno se escapa a la condición de terminar en ‘a’ o ‘e’ podríamos mediante un else separarlos en una lista indefinida, para luego revisar y modificar nuestras condiciones.

 

 

Condicionales de comprobación (All / Any)

Hay algo más que aún no hemos visto que podríamos utilizar perfectamente para comprobar datos de listas, cadenas y diccionarios. All y any nos van a permitir determinar si todos (all) o algunos / ninguno (any) elementos de una lista devuelve True ante tal condición.

Sintaxis

if all (condición / bucle for): #Si todos devuelven True, devuelve True. Caso contrario, False
if any (condición / bucle for): #Devuelve True si alguno es True. Devuelve False si esta vació o todos son
#False

 

Ejemplo

Supongamos en un ejemplo en el que le pedimos a un usuario que ingrese elementos para añadir a una lista y luego debemos comprobar si dichos elementos cumplen la condición. En este caso le solicitamos al usuario ingrese tres números mayores a 5 y menores a 10.

 

-Nosotros queremos que el usuario ingrese 3 números para almacenarlos en una lista

-Si todos los números son mayores o igual a 5 y menores o igual a 10 nos de un OK

-En caso que algún número no sea mayor o igual a 5 y no sea menor o igual a 10 nos dispare un aviso y volvamos a intentar.

-Si ningún número cumple ninguna de las condiciones anteriores, terminar el programa.

Venga ese code cabron

-Venga ese code cabrón!!

 

 

 

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  



Numeros= []
while True:
    Numerito1 = (int(input("Ingresa un numero mayor de 5 y menor de 10  \n"))) #Pedimos numero
    Numeros.append(Numerito1) #Agregamos numero a la lista
    Numerito2 = (int(input("Ingresa un numero mayor de 5 y menor de 10 \n")))#Pedimos numero
    Numeros.append(Numerito2)#Agregamos numero a la lista
    Numerito3 = (int(input("Ingresa un numero mayor de 5 y menor de 10 \n")))#Pedimos numero
    Numeros.append(Numerito3)#Agregamos numero a la lista
    print (Numeros)#Imprimimos la lista de numeros
    if all (numero >= 5 and numero <= 10 for numero in Numeros):
        #Comprueba si todos los números cumple la condición mayor o igual a 5 y
        #Menor o igual a 10
        print ("Correcto! Los números ingresados son mayores a 5 y menores a 10")
        print ("Gracias y hasta luego")
        break #Rompemos el bucle
    elif any (numero >= 5 and numero <= 10 for numero in Numeros):
        #Comprueba si algún numero es mayor a 5 o mayor a 10
        print ("Algún numero no es correcto")
        Numeros= [] #Reseteamos la lista
        print ("Vuelve a intentarlo")
    else:
        print ("Error no has ingresado ningún numero mayor a 5 o menor a 10")
        print ("Suerte la próxima perdedor, ni siquiera un solo numero!")
        break #Rompemos el bucle

 

Resultados:

Ingresando: 5 , 6, 7

Correcto! Los números ingresados son mayores a 5 y menores a 10

Ingresando: 5, 6, 3

Algún número no es correcto

Vuelve a intentarlo

Ingresando: 12, 15, 3

Error no has ingresado ningún numero mayor a 5 o menor a 10

Suerte la próxima perdedor, ni siquiera un solo numero!

 

Nuestro programa funciona como la seda, pero hay que destacar que la condición que comprueba si son mayores o iguales a 5 y menores o iguales a 10 debimos colocarla a la izquierda del bucle for para que sea posible la correcta comprobación de All / Any.

All / any nos serán muy útiles cuando todos los elementos de la lista o iterable deben cumplir una condición en común.

 


 

Creando diccionarios por comprensión usando dict()

 

Diccionarios por comprensiónAhora vamos a trabajar con diccionarios, uff te debo tener la cabeza más cansada que un bucle infinito! jaja pero venga que está que arde!

-Vamos a crear un diccionario por comprensión utilizando dict y bucle for

-Vamos a aprender a convertir listas en un diccionario

-Agregaremos elementos al diccionario con input

Anteriormente en bucles for habíamos visto cómo iterar un diccionario existente pero si deseamos crear un diccionario por comprensión, el código sería el siguiente:

 

#Creando un diccionario usando dict
dict((x, x * x) for x in (1, 2, 3, 4))

#Para imprimirlo

print (dict((x, x * x) for x in (1, 2, 3, 4)))

#Almacenarlo y imprimirlo

ss = (dict((x, x * x) for x in (1, 2, 3, 4)))
print (ss)

#Sintaxis
dict(<clave>, <valor> for <elemento> in <iterable>)

Resultado:

{1: 1, 2: 4, 3: 9, 4: 16}

En este caso estamos creando un diccionario usando dict seguido de un bucle for que especifica en este caso «x» como (key) y «x * x» cómo (value) para cada elemento («x») en «1,2,3,4». Entonces vemos como key sucesivas 1, 2, 3 ,4 y como valores su cuadrado respectivo 1, 4, 9, 16.

 

 

Creando diccionarios a partir de Listas con bucle for

Vamos a ver como crear un diccionario a partir de una lista, pero presta especial atención a esta lista:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  
Lista = [('hola', 'python')] #Lista

diccionario = {k:v for k, v in Lista} #Creando diccionario a partir de lista
print (diccionario)

 

Resultado:

{‘hola’: ‘python’}

 

Como vemos hemos creado un nuevo diccionario a partir de una lista utilizando un bucle for, pero hay un detalle importante en cuanto a la lista, esta no puede ser una lista común! Debe estar organizada de manera que facilite la creación de un diccionario (cada elemento de la lista es una tupla separada por coma) como ves en el código más arriba encerrados los dos elementos por paréntesis uno tomara el lugar de clave y el siguiente el de valor.

 

Función zip() Fusionamos listas y las  convertimos en diccionarios

Para convertir una lista común a una lista de esta manera podemos utilizar la función zip() que admite como parámetro un conjunto de listas, veámoslo en un ejemplo fusionando dos listas para crear un diccionario:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  
L1 = ['Maria', 'Juan', 'Pedro'] #Lista con los nombres
LEdades = [14, 16, 18]# Lista con las edades
diccionario = (dict(zip(L1, LEdades))) #Creamos un diccionario fusionando con zip()
print (diccionario)

Resultado:

{‘Juan’: 16, ‘Maria’: 14, ‘Pedro’: 18}

Como vemos se ha creado un diccionario con las listas anteriores, correspondiendo en el orden de clave y valor. Teniendo en cuenta que ambas listas tienen la misma cantidad de elementos, de lo contrario el elemento que quede fuera por impar no aparecerá en el diccionario.

Iterando diccionarios: claves o valores, y ambas con bucle for

Podemos iterar un diccionario para obtener solo las claves, los valores o ambos a la vez. Primeramente aclararte que puedes utilizar el método keys(), values() como hemos visto en métodos de los diccionarios que nos facilitaran la iteracion de un único elemento clave, o valor. O para ambos podemos utilizar el método items().

Iterando las claves de un diccionario

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  
semaforo = {'Rojo' : 'Detenerse', 'Amarillo' : 'Despacio', 'Verde' : 'Avanzar'}
colores = semaforo.keys() #Creamos la variable colores que almacena las keys()
for color in colores:
    print (color)

Resultado:

Rojo
Amarillo
Verde

Si almacenamos en una variable las claves mediante el método keys obtenemos una vista del diccionario que nos permite trabajar solo con las claves y nos presenta la ventaja de que al cambiar un elemento del diccionario automáticamente se actualizara..

Iterando los valores de un diccionario

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  
semaforo = {'Rojo' : 'Detenerse', 'Amarillo' : 'Despacio', 'Verde' : 'Avanzar'}
acciones = semaforo.values() #Creamos la variable acciones que almacena los values()
for accion in acciones: # Iteramos
    print (accion)

 

Resultado:

Avanzar
Despacio
Detenerse

Si almacenamos en una variable los valores mediante el método values obtenemos una vista del diccionario que nos permite trabajar solo con los valores y nos presenta la ventaja de que al cambiar un elemento del diccionario automáticamente se actualizara..

Iterando ambos, claves y valores de un diccionario

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  sin título.py
#  
#  Copyright 2018 https://pythones.net
#  
semaforo = {'Rojo' : 'Detenerse', 'Amarillo' : 'Despacio', 'Verde' : 'Avanzar'}
elementos = semaforo.items() #Creamos la variable elementos que almacena key y values
for k,v in elementos: # Iteramos
    print ((k), ('significa'), (v)) #Imprimimos k (key) y v(value)

 

Resultado:

Amarillo significa Despacio
Rojo significa Detenerse
Verde significa Avanzar

¡Que pasada! no debemos pasarnos en rojo! Aquí estamos iterando el diccionario completo utilizando items() en caso contrario, obtendremos un error si intentamos iterar directamente sobre el diccionario.

Adiooos!Esto ha sido todo, espero hayas aprendido a crear listas y diccionarios por comprensión así como a trabajar mejor con ambos! Nos vemos en la siguiente entrada! Bye bye

 

 

 


 

Sigue leyendo!
Entrada anterior! Siguiente entrada!

Compartir es agradecer! :)

7 comentarios en “Listas y dicc por comprensión: operaciones usando bucle for, Ejemplos!”

  1. Puff si que estuvo intenso esta lección, pero emocionado por que ya casi acabo el módulo. Seguimos…
    Y muchas gracias por todo el contenido… Espero pronto poder donarte algo.

  2. Hola, estan geniales estos cursos, la verdad que me los estoy devorando por lo menos uno por dia.
    Queria aprender python y no encontraba ningun curso rapido y facil, hasta que di con el tuyo.
    Fuera de eso, estoy haciendo la primer parte de esta seccion y en el codigo que hiciste de almacenar las 3 variables entre 5 y 10 me quede pensando, porque pediste 3 numeros y los almacenaste en 3 variables, ya que podias agregar un while, un contador y usar la misma variable, te dejo aqui el codigo:

    numeros=[]
    cont=0
    while True:
    while cont=5 and numero=5 and numero <=10 for numero in numeros):
    print ("Algo mal")
    numeros=[]
    cont=0
    print ("Otra Vez")
    else:
    print ("los numeros no son mayores que 5 o menor que 10, ninguno")
    break

    Nada, el aporte inutil del dia jajaja.

    Saludos desde Uruguay

  3. Hola Compas estaba levantando este código pero no logro dar con una solución para cumplir con este enunciado.

    «Debera en primera instancia solicitar el rut del paciente, luego verificar que el paciente se encuentre registrado en el sistema. Una vez validado se le solicitara ingresar la fecha de atencion y las observaciones de la visita, y lo almacenara en la variable registros, concatenando los registros antiguos y los nuevos.

    validar = True
    diccionario_pacientes = {}

    #FUNCIONES
    def consultar_datos():
    global diccionario_pacientes
    buscar = int(input(«Ingresar el rut del Paciente: «))

    if buscar in diccionario_pacientes:
    print(
    «»»
    Rut: {}
    Nombre: {}
    Direccion: {}
    Correo: {}
    Edad: {}
    Sexo: {}
    Registro: {}
    Prevision: {}

    «»».format(buscar,diccionario_pacientes[buscar][0],diccionario_pacientes[buscar][1],diccionario_pacientes[buscar][2],diccionario_pacientes[buscar][3],diccionario_pacientes[buscar][4],diccionario_pacientes[buscar][5],diccionario_pacientes[buscar][6]))

    else:
    print(«\n EL PACIENTE NO EXISTE\n»)

    def atencion_paciente():
    global diccionario_pacientes

    rut = int(input(‘Ingrese rut del paciente: ‘))

    if rut in diccionario_pacientes:

    «»»

    ESTE CICLO ES EL QUE NO LOGRO TERMINAR

    «»»

    else:
    print(«\n EL PACIENTE NO EXISTE\n»)

    def agregar_paciente():
    global diccionario_pacientes
    global validar
    print(‘Has ingresado a la opcion de registrar un Paciente: ‘)
    preguntar = input(‘\nDesea ingresar un nuevo Paciente (S/N): \r\n’)

    while preguntar == ‘s’ or preguntar == ‘S’:

    while validar:
    try:
    rut = int(input(‘Ingresar rut: ‘))

    if 5000000 <= rut 1 and correo.index(‘@’) and correo.index(‘.’):

    validar = False
    else:
    print(‘\nEl Correo debe contener mas de un caracter\n’)

    except ValueError:
    print(‘\nDebe ingresar @ y .\n’)

    validar = True

    while validar:
    try:
    edad = int(input(‘Ingresar edad: ‘))

    if 0 <= edad <= 110:

    validar = False
    else:
    print('\nIngresar edad entre 0 y 110\n')
    except:
    print('\nIngresar solo numeros\n')

    validar = True

    while validar:
    sexo = input('Ingresar sexo (F/M): ')

    if len(sexo) == 1 and (sexo == 'f' or sexo == 'F' or sexo == 'M' or sexo == 'm'):

    validar = False
    else:
    print('Debe ingresar solo un caracter que sea /F/M)')

    validar = True

    registrar = input('Ingresar Registros: ')

    while validar:
    ps = input('Ingresar prevension (ISAPRE/FONASA): ').upper()

    if (ps == 'ISAPRE' or ps == 'isapre' or ps == 'FONASA' or ps == 'fonasa'):

    validar = False
    else:
    print('\nDebe ingresar solo (FONASA/ISAPRE)\n')

    validar = True

    diccionario_pacientes[rut] = nombre, direccion, correo, edad, sexo, registrar, ps,
    print(f"\n Paciente {nombre} fue ingresado al sistema\n")

    preguntar = input('\nDesea ingresar un nuevo pacientes (S/N): \r\n')

    #MENUPRINCIPAL
    diccionario_pacientes={}

    menuprincipal = int(input("\nCentro Médico DUOC \nMenu principal:\n \n1. Registrar Paciente \n2. Atencion Paciente \n3. Consultar Datos Paciente \n4. Salir \n \nIngresar Opcion: "))

    while menuprincipal != 4:

    if menuprincipal == 1:
    print("\n Registrar Paciente\n")
    agregar_paciente()

    elif menuprincipal == 2:
    print("\n Atencion Pacientes\n")
    atencion_paciente()

    elif menuprincipal == 3:
    print("\n Consultar Datos Paciente\n")
    consultar_datos()

    else:
    print("Opcion incorrecta, favor digital opcion correcta")

    menuprincipal = int(input("\nCentro Médico DUOC \nMenu principal:\n \n1. Registrar Paciente \n2. Atencion Paciente \n3. Consultar Datos Paciente \n4. Salir \n \nIngresar Opcion: "))

    print("Gracias por su preferencia")

  4. Hola Mariano: En el ejemplo de como crear un diccionario a partir de una lista, explica por favor que funcion cumple el caracter dos puntos «:» al definir la clave y valor k:v, no entiendo. —-> diccionario = {k:v for k, v in Lista}
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #
    # sin título.py
    #
    # Copyright 2018 https://pythones.net
    #
    Lista = [(‘hola’, ‘python’)] #Lista

    diccionario = {k:v for k, v in Lista} #Creando diccionario a partir de lista
    print (diccionario)

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.