[ Foro de Python ]

Aplicar una función a una lista de listas.

09-Aug-2016 20:54
Invitado (CADesigner)
1 Respuestas

Hola, qué tal.

Quisiera saber cuál es la mejor manera (si existe) de aplicar una función a cada elemento, lista o lista anidada. He armado esto de distintas fuentes, es una lista con una lista anidada y quiero aplicarle una función:

 
lista = [1,2,3,[4,5,6],7]
 
def sumar(x):
    resultado = x + 1
    return resultado
 
def ProcesarListas(funcion, lista):
    resultado = []
    for x in lista:
        if type(x) == list:
	    resultado.append(ProcesarListas(func, x))
	else:
	    resultado.append(func(x))
    return resultado
 



Esto funciona, pero no sé si existan módulos que faciliten estas tareas o algo mejor estructurado.

Gracias.

Sakudos.


25-Aug-2016 15:19
Nacho Cabanes (+31)

A mí esa forma me parece muy razonable






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)