# Versão da Linguagem Python
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())

"""
Explanation: <font color='blue'>Data Science Academy - Python Fundamentos - Capítulo 4</font>
Download: http://github.com/dsacademybr
End of explanation
"""


# Importando a função reduce do módulo functools
from functools import reduce

# Criando uma lista
lista = [47,11,42,13]

lista

# Função 
def soma(a,b):
    x = a + b
    return x

# Usando reduce com uma função e uma lista. A função vai retornar o valor máximo
reduce(soma, lista)

from IPython.display import Image
Image('arquivos/reduce.png')

# Criando uma lista
lst = [47, 11, 42, 13]

# Usando a função reduce() com lambda
reduce(lambda x,y: x+y, lst)

# Podemos atribuir a expressão lambda a uma variável
max_find2 = lambda a,b: a if (a > b) else b

type (max_find2)

# Reduzindo a lista até o valor máximo, através da função criada com a expressão lambda
reduce(max_find2, lst)

"""
Explanation: Reduce
End of explanation
"""


