Dictionary Comprehension con Condicionales en Python

Clase 8 de 44Curso de Python: Comprehensions, Funciones y Manejo de Errores

Resumen

¿Cómo utilizar condicionales en Dictionary Comprehension?

Dictionary Comprehension es una herramienta poderosa en Python que nos permite construir diccionarios de una manera eficiente y concisa. En esta clase, profundizaremos en cómo agregar condicionales a un Dictionary Comprehension, permitiéndonos controlar qué elementos incluir en nuestro diccionario final.

¿Cómo se construye un diccionario con una condición?

Para comenzar, recordemos la estructura básica de un Dictionary Comprehension. Abrimos llaves {} y dentro definimos los pares clave:valor a partir de un iterable. Cuando le agregamos una condición, solamente incluimos los elementos que cumplan con este criterio.

Por ejemplo, si queremos filtrar países con una población mayor a 20 millones, podemos usar el siguiente código:

population_dict = {
    'Colombia': 50,
    'México': 70,
    'Perú': 30,
    'Bolivia': 20
}

result = {
    country: population
    for country, population in population_dict.items()
    if population > 20
}

print(result)

En este caso, solo se incluirán en result aquellos países cuya población supere los 20 millones.

¿Cómo aplicar Dictionary Comprehension con strings?

Veamos cómo podemos aplicar esta técnica en cadenas de texto para realizar tareas como identificar vocales únicas y transformarlas. Supongamos que queremos generar un diccionario de vocales en un texto, donde la clave sea la vocal original y el valor sea la vocal en mayúscula.

text = "Hola soy Nicolás"
vowels = 'aeiou'

unique_vowels = {
    char: char.upper()
    for char in text
    if char.lower() in vowels
}

print(unique_vowels)

En este ejemplo, recorremos cada carácter del texto Hola soy Nicolás, y solo incluimos aquellas letras que sean vocales. Notamos que este diccionario contendrá únicamente vocales únicas ya que las llaves en un diccionario no pueden repetirse.

¿Cómo puedes crear un reto incrementando la funcionalidad?

Un último ejercicio interesante sería contar la frecuencia de cada vocal en el texto en lugar de solo listar las vocales únicas. Esto nos permitirá fortalecer nuestra comprensión de Dictionary Comprehension utilizando condiciones y métodos adicionales para el conteo.

A medida que continúas tu aprendizaje en Python, ten en cuenta que este poderoso constructo puede simplificar y optimizar tu código significativamente. ¡Mantente motivado y sigue explorando nuevas formas de aplicar tus conocimientos!