Ejercicios en Python con Funciones Incorporadas (map, zip, enumerate, reduce, filter)
Introducción:
Hola amigos de Mi Diario Python, les doy la bienvenida nuevamente al mejor blog para Aprender Python.
En este artículos, pondremos a prueba nuestras habilidades, y a ejercitar nuestra lógica de programador. Resolveremos algunos problemas en Python utilizando funciones incorporadas (map, zip, enumerate, reduce, filter). ¿Preparado? ¿Listos? Comencemos.
Problema #1:
Utilizar la función incorporada map() para crear una función que retorne una lista con la longitud de cada palabra (separas por espacios) de una frase. La función recibe una cadena de texto y retornara una lista.
def longitud_palabras(frase): # Función palabra_len = list(map(len, frase.split())) # Longitud de cada palabra return palabra_len # Retornar resultado
longitud_palabras('Hola Luis, como estas?') # Prueba de la función
Problema #2:
Crear una función que tome una lista de dígitos y devuelva al número al que corresponden. Por ejemplo [1,2,3] corresponde a el numero ciento veintitrés (123). Utilizar la función reduce.
from functools import reduce def digitos_a_numero(digitos): return reduce(lambda x,y:x*10 + y,digitos)
digitos_a_numero([4,3,9,2])
4392
Problema #3:
Crear una función que retorne las palabras de una lista de palabras que comience con una letra en especifico. Utilizar la función filter.
def filtro_palabras(lista_palabras, letra): return list(filter(lambda word:word[0]==letra,lista_palabras))
filtro_palabras(['Perro', 'Gato', 'Pelota', 'Manzana', 'Libro', 'Python'], 'P')
['Perro', 'Pelota', 'Python']
Problema #4:
Realizar una función que tome una lista de comprensión para devolver una lista de la misma longitud donde cada valor son las dos cadenas de L1 y L2 concatenadas con un conector entre ellas. Ejemplo: Listas: ['A', 'a'] ['B','b'] Conector: '-' Salida: ['A-a'] ['B-b']. Utilizar la función zip.
def concatenacion(L1, L2, connector): return [word1+connector+word2 for (word1,word2) in zip(L1,L2)]
concatenacion(['A', 'a'],['B','b'],'-')
['A-a', 'B-b']
Problema #5:
Realizar una función que tome una lista y retorne un diccionario que contenga los valores de la lista como clave y el índice como el valor. Utilizar la función enumerate.
def d_list(L): return {key:value for value,key in enumerate(L)}
d_list(['a','b','c','d','e'])
{'a': 0, 'b': 1, 'c': 2}
Problema #6:
Realizar una función que retorne el recuento de la cantidad de elementos en la lista cuyo valor es igual a su índice. Utilizar la función enumerate.
def count_match_index(L): return len([num for count,num in enumerate(L) if num==count])
count_match_index([0,2,2,1,5,5,6,10])
4
Excelente, espero que te sea de utilidad y puedes implementar estos conocimientos para resolver otros problemas.
Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
-
buenos ejemplos para empezar 😀
-
Excelente
-
En el problema #4 se debe usar (L1, L2) sin zip en la lista por comprensión
Deja una respuesta
Hola, excelente artículo con buenos ejemplos, pero yo soy principiante... no podrías explicarlos? Gracias