GoConqr has a new look! Let us know what you think.

Mind map

Expressões Lambdas e Funções Integradas

Diego Freitas Bastos Dylan Python Portuguese

Map content

Expressões Lambdas e Funções Integradas

  1. 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))
  2. 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.
    • 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)))
  3. 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.
  4. 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
  5. 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
  6. 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.
    • É o que seria o Tupla Comprehensions
  7. 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
    • 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"]))  
  8. 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
  9. Reversed

    • Não confunda com a função Reverse()
      • Reverse, só funciona em lista; Reversed funciona em qualquer iterável
  10. 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
  11. 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.

Information

Description
Python Mind Map on Expressões Lambdas e Funções Integradas, created by Diego Freitas Bastos Dylan on 21/05/2019.
Views
0
Rating

More on Funções e módulos em Python

Feedback

What is it about?

What do you think of the new look?

How do you like it?