<jupyter_start><jupyter_text>List, Set, Dict comprehension en español> python en español- toc: true - badges: true- comments: true- categories: [python, tutorial, español]- show_tags: true- hide: false- description: Comprensión de lista (List), grupo (Set), diccionario (Dict) en python Hola mente de simio 🧠 🦍  List, Set, Dict comprehension en español  Comprensión de lista (List), grupo (Set), diccionario (Dict)Crea una nueva lista filtrando elementos de una **colección** (List / Set / Dict), cada elemento es transformada por una sola **expresión**. La filtración puede ser hecha de forma condicional, dada por una **condición** (opcional).> [**expresion** for valor in **colección** if **condición**] Lo cual es equivalente a:```pythonresultado = []for valor in colleccion:    if condicion:        resultado.append(expresion)```  Comprensión anidadaLas comprensiones se pueden anidar, de igual formar que se pueden anidar loops.> [**expresion** for valor in colección if **condición** for valor2 in **colección2** if **condición2** ]Nota:  - **colección** y **colección2** pueden ser la misma colección - **condición** y **condición2** pueden ser la misma condición Lo cual es equivalente a:```pythonresultado = []for valor in colleccion:    if condicion:        for valor2 in coleccion2:            if condicion2:                resultado.append(expresion)```  Ejemplo - sin comprensión de lista, usando un loop:<jupyter_code>frutas = ["mango", "manzana", "pera"]

# En forma de for loop
# Convertimos las frutas en mayúsculas
frutasMayus = []
for fr in frutas:
    if fr.islower():
        frutasMayus.append(fr.upper())

print("frutasMayus:", frutasMayus)<jupyter_output>frutasMayus: ['MANGO', 'MANZANA', 'PERA']<jupyter_text>Ejemplo - comprensión de lista:<jupyter_code>frutas = ["mango", "manzana", "pera"]

# Usando comprensión de lista
# Convertimos las frutas en mayúsculas
frutasMayus = [fr.upper() for fr in frutas if fr.islower()]

print("frutasMayus:", frutasMayus)<jupyter_output>frutasMayus: ['MANGO', 'MANZANA', 'PERA']<jupyter_text>Ejemplo - comprensión de lista anidada:<jupyter_code>ingredientes = [["mango", "manzana", "cebolla"], [], ["sal", "azúcar", "aceite"]]

# Usando comprensión de lista anidada
# Creamos una lista solo con los ingredientes que tienen "e"
ingredientes_e = [ingr for ingrSublista in ingredientes
                      for ingr in ingrSublista if "e" in ingr]

print("ingredientes_e:", ingredientes_e)<jupyter_output>ingredientes_e: ['cebolla', 'aceite']<jupyter_text>Ejemplo - comprensión de lista dentro de otra comprensión de lista:<jupyter_code>ingredientes_en_listas = [["mango", "manzana"], ["cebolla", "apio"]]
# Usando comprensión de lista anidada
# Removemos los ingredientes que no tienen "o"
ingredientes_o = [[ingr.upper() for ingr in lista if "o" in ingr] 
                  for lista in ingredientes_en_listas]

print("ingredientes_o:", ingredientes_o)<jupyter_output>ingredientes_o: [['MANGO'], ['CEBOLLA', 'APIO']]<jupyter_text>Ejemplo - comprensión de grupo:<jupyter_code>frutas_grupo = {"mango", "manzana", "pera"}

frutas_mayus = {fruta.upper() for fruta in frutas_grupo if fruta.islower()}

frutas_mayus<jupyter_output><empty_output><jupyter_text>Ejemplos - comprensión de diccionario:  Ejemplos - comprensión de diccionario sobre una lista:<jupyter_code>frutas = ["mango", "manzana", "pera"]

frutas_set_o = {fruta.upper()+"!" for fruta in frutas if "o" in fruta}

frutas_set_o<jupyter_output><empty_output><jupyter_text>Ejemplos - comprensión de diccionario sobre un diccionario:<jupyter_code>frutas_dict = {"mango": "amarillo", "manzana": "rojo", "pera": "verde"}

frutas_dict_o = {fruta.upper() : color.upper()
                     for fruta, color in frutas_dict.items() if "o" in color}

frutas_dict_o<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1266754270696452, 'fraction_numerical': 0.002102496714848883, 'mean_word_length': 5.396638655462185, 'pattern_counts': {'":': 3, '<': 25, '<?xml version=': 0, '>': 28, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '205477', 'license': 'Apache-2.0', 'n_tokens_mistral': 1419, 'n_tokens_neox': 1401, 'n_words': 380, 'path': '_notebooks/2020-12-06-comprension-List-Set-Dict.ipynb', 'repo_name': 'juancarl0s/fpblog', 'size': '3805'}