Data Science do zero: Primeiras regras com o Python


print s.contains(4) # True s.remove(3) print



Baixar 5.26 Mb.
Pdf preview
Página31/75
Encontro24.07.2022
Tamanho5.26 Mb.
#24344
1   ...   27   28   29   30   31   32   33   34   ...   75
Data Science do zero - Primeiras regras
print s.contains(4) # True
s.remove(3)
print s.contains(3) # False
Ferramentas Funcionais
Ao passar as funções, algumas vezes queremos aplicá-las parcialmente para criar
funções novas. Em um simples exemplo, imagine que temos uma função com
duas variáveis:
def exp(base, power):
return base ** power
e queremos usá-la para criar uma função de uma variável
two_to_the
cuja entrada é
um
power
e cuja saída é o resultado de
exp(2, power)
.
Podemos, é claro, fazer isso com
def
, mas pode ser um pouco complicado:
def two_to_the(power):
return exp(2, power)
Uma abordagem diferente é usar
functools.partial
:
from functools import partial
two_to_the = partial(exp, 2) # agora é uma função de uma variável
print two_to_the(3) # 8
Você também pode usar
partial
para preencher os argumentos que virão depois se


você especificar seus nomes:
square_of = partial(exp, power=2)
print square_of(3) # 9
Começa a ficar bagunçado quando você adiciona argumentos no meio da função,
portanto tentaremos evitar isso.
Ocasionalmente usaremos
map
,
reduce
e
filter
, que fornecem alternativas funcionais
para as compreensões de lista:
def double(x):
return 2 * x
xs = [1, 2, 3, 4]
twice_xs = [double(x) for x in xs] # [2, 4, 6, 8]
twice_xs = map(double, xs) # igual ao de cima
list_doubler = partial(map, double) # função que duplica a lista
twice_xs = list_doubler(xs) # novamente [2, 4, 6, 8]
Você pode usar
map
com funções de múltiplos argumentos se fornecer múltiplas
listas:

Baixar 5.26 Mb.

Compartilhe com seus amigos:
1   ...   27   28   29   30   31   32   33   34   ...   75




©historiapt.info 2022
enviar mensagem

    Página principal