human
I am working on the file "Atividade02/Lab/Lab1_Rev_Python_Numpy_AlgeLin.ipynb".
The first task is:
(3d) Map, Reduce, Filter 
Essas três funções são utilizadas para transformação de listas no paradigma funcional. Essas funções recebem como parâmetro uma função f e uma lista l.
Map: aplica a função em cada elemento da lista, gerando uma nova lista
Reduce: aplica a função cumulativamente em pares de elementos da lista, retornando um único valor agregado ao final
Filter: gera uma nova lista contendo os elementos da lista l em que a aplicação de f returna True
Para os próximos exercícios vamos utilizar a classe FuncionalW para criar uma sintaxe parecida com a que utilizaremos com o Spark.
Can you write Python program for it?

=====
Give me a the Python program you requested?
assistant
#Here is the Python program you requested.

class FuncionalW(object):
    def __init__(self, data):
        self.data = data
    def map(self, function):
        """Call `map` on the items in `data` using the provided `function`"""
        return FuncionalW(map(function, self.data))
    def reduce(self, function):
        """Call `reduce` on the items in `data` using the provided `function`"""
        return reduce(function, self.data)
    def filter(self, function):
        """Call `filter` on the items in `data` using the provided `function`"""
        return FuncionalW(filter(function, self.data))
    def __eq__(self, other):
        return (isinstance(other, self.__class__)
            and self.__dict__ == other.__dict__)
    def __getattr__(self, name):  return getattr(self.data, name)
    def __getitem__(self, k):  return self.data.__getitem__(k)
    def __repr__(self):  return 'FuncionalW({0})'.format(repr(self.data))
    def __str__(self):  return 'FuncionalW({0})'.format(str(self.data))

# Exemplo de Map

# Criaremos uma lista
lista = FuncionalW(range(10))

# Criar uma função a ser aplicada nessa lista
f = lambda x: x*x

# Programação Imperativa
resultado1 = FuncionalW([])
for x in lista:
    resultado1.append(f(x))
print "Resultado: {}".format(resultado1)    

# Funcional
print "Resultado usando Map: {}".format(lista.map(f))

# Exemplo de Reduce

# Criaremos uma lista
lista = FuncionalW(range(1,10))

# Criar uma função a ser aplicada nessa lista
f = lambda x,y: x*y

# Programação Imperativa
produtoria = 1
for x in lista:
    produtoria = f(produtoria,x)
print "Resultado: {}".format(produtoria)    

# Funcional
print "Resultado usando Reduce: {}".format(lista.reduce(f))

# EXERCICIO

dataset = FuncionalW(range(10))

# Multiplique cada elemento por 5
mapResult = dataset.map(lambda x : x*5)
# Filtre eliminando os elementos ímpares
# No Python "x % 2" é o resultado do resto da divisão de x por 2
filterResult = dataset.filter(lambda x: x % 2 == 0)
# Some os elementos
reduceResult = dataset.reduce(lambda x, y : x+y)

print 'mapResult:...