Mindmap
Expressões Lambdas e Funções Integradas
Inhalt der Mindmap
Expressões Lambdas e Funções Integradas
Expressões Lambdas
- São Funções sem nome ou anônimas
- Declaração
- Esta: def funcao(x): return 3 * x + 1 Por esta: lambda x: 3 * x + 1
- As entradas(argumentos) são definidos logo após o nome: lambda, separando mais de um por vírgula
- Forma como deve ser utilizada
- autores = ['Isaac Asimov', 'Ray Bradbury', 'Robert Heinlein', 'Arthur C. Clarke', 'Frank Herbert', 'Orson Scott Card', 'Douglas Adams', 'H. G. Wells', 'Leigh Brackett'] print(autores) autores.sort(key=lambda sobrenome: sobrenome.split(' ')[-1].lower()) print(autores)
- def geradora_funcao_quadratica(a, b, c): return lambda x: a * x ** 2 + b * x + c teste = geradora_funcao_quadratica(2, 3, -5) print(teste(0)) print(teste(1)) print(teste(2))
- Declaração
- São Funções sem nome ou anônimas
Map
- Mapeia uma função por interável
- Por exemplo: pega uma lista, e chama uma função pela quantidade de vezes de dados na lista, passando cada um destes dados como argumento para a função chamada.
- Após utilizar a função map(), depois da primeira utilização do resultado, este é zerado.
- Por exemplo: pega uma lista, e chama uma função pela quantidade de vezes de dados na lista, passando cada um destes dados como argumento para a função chamada.
- Sintaxe
- variavel = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] testando = [] testando = map(teste, variavel) print(list(testando))
- Convertendo temperadora
- temperaturas = [('Maceio', 30),('Goiania', 20),('Salvador', 26),('Recife', 28),('Rio de Janeiro', 31),('São Paulo', 22)] c_para_f = lambda tempera: (tempera[0], 9/5 / tempera[1] + 32) print(list(map(c_para_f, temperaturas)))
- Mapeia uma função por interável
Filter
- Filtra dados de uma determinada coleção
- Esta função (assim como Map) recebe dois parâmetros
- dados = 1, 2, 4, 6, 8 media = statistics.mean(dados) res = filter(lambda valor: valor > media, dados)
- Filtrando paises que são diferente de vazio: paises = ['', 'Brasil', '', '', 'Argentina'] res = filter(none, paises) OBS.: Retorna todos os países diferentes de ''.
- Utilizando filter() e map() combinados
- nomes = ['Vanessa' 'Ana', 'Maria'] lista = list(map(lambda nome: f'Sua instrutora é {nome}', filter(lambda nome: len(nome) <5, nomes))) OBS.: Retorna os nomes que tem menos de 5 caracteres.
- Esta função (assim como Map) recebe dois parâmetros
- Filtra dados de uma determinada coleção
Reduce
- Deixou de ser uma função integrada na versão 3+
- Sintaxe: somando todos os números de uma lista
- dados [2, 3, 4, 5, 7, 11] multi = lambda x, y: x * y res = reduce(multi, dados) OBS.: Da para fazer a mesma função com um loop for (e fica melhor legível)
- Utilize esta função se realmente precisar dela, em 99% das vezes, um loop for ficaria melhor: Palavras do Criador do Python
- Sintaxe: somando todos os números de uma lista
- Deixou de ser uma função integrada na versão 3+
Any e All
- All
- Retorna True se todos os elementos do iterável são verdadeiros ou ainda se o iterável está vazio
- Pesquisar melhor
- Any
- Retorna true se qualquer um dos elementos do iterável for verdadeiro
- All
Generators
- Visualmente falando, a diferença para List Comprehension é apenas os parênteses
- Usa menos recursos do sistema, é melhor performático
- Se comparando a todos os outros Comprehension, é o que menos consome do sistema.
- Usa menos recursos do sistema, é melhor performático
- É o que seria o Tupla Comprehensions
- Visualmente falando, a diferença para List Comprehension é apenas os parênteses
Sorted
- Não confunda com a função sort()
- Sorted retorna uma nova lista, Sort modifica a própria lista
- Pode ser usado em outros tipos de dados mas sempre retornará uma lista
- Sorted retorna uma nova lista, Sort modifica a própria lista
- Sintaxe
- print(sorted(numeros)) print(sorted(numeros, reverse=True)) Para dicionários: print(sortede(usuarios, key=len)) Ordenando pelo usuario: print(sorted(usuarios, key=lambda usuario:usuario["username"]))
- Não confunda com a função sort()
Min e Max
- max()
- Retorna o maior valor em um iterável ou o maior de dois ou mais elementos
- min()
- Retorna o menor valor em um iterável ou o menor de dois ou mais elementos
- max()
Reversed
- Não confunda com a função Reverse()
- Reverse, só funciona em lista; Reversed funciona em qualquer iterável
- Não confunda com a função Reverse()
Len, Abs, Sum e Round
- len() retorna o tamanho(número de itens) de itens iteráveis
- abs() retorna o número absoluto de um número(números negativos, se tornam positivo)
- sum() efetua a soma dos elementos, recebe como parâmetro um iterável
- Round(): Retorna um número arredondado para n dígito de precisão após a casa decimal. Se a precisão não for informada, retorna o inteiro mais próximo da entrada
zip
- Cria um iterável (zip object) que agrega elemento de cada um dos iteráveis passados como entrada em pares
- lista1 = [1, 2, 3] lista2 = [4, 5, 6] zip1 = zip(lista1, liesta2) OBS.: Cria três listas, a primeira pegando o primeiro item da lista 1 e o primeiro item da lista 2, a segunda, pega o segundo item da lista 1 e o segundo item da lista2, e daí por diante.
- Cria um iterável (zip object) que agrega elemento de cada um dos iteráveis passados como entrada em pares
Informationen
- Beschreibung
- Python Mindmap am Expressões Lambdas e Funções Integradas, erstellt von Diego Freitas Bastos Dylan am 21/05/2019.
- Erstellt von
- Diego Freitas Bastos Dylan
- Aufrufe
- 0
- Bewertung
Mehr zu Funções e módulos em Python