equações ou funções lambda e pycharm

Home Fóruns Python equações ou funções lambda e pycharm

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #116991
      Vanildo Braga
      Participante

      Olá a todos,
      eu estava estudando OOP (dentro do python, fonte externa) e a coisa tava ficando meio cansativa e decidi mudar um pouco de ares. Bom, acabei pousando em funções ou equações lambda, Um detalhe, eu uso bastante o pycharm e o vscode, muito mais o pycharm community. Quando eu coloquei as benditas equações, erro!!! O erro reportado foi esse:
      t = list(lambda seq: seq * 2)
      onde seq = [1, 2, 3, 4, 5]
      ^^^^^^^^^^^^^^^^^^^^^^^^^
      TypeError: ‘function’ object is not iterable
      Isso foi minha patética tentativa de imprimir uma função labda que foi feita, isso é importante, no jupyter notebook. Então, existe alguma solução para lidar com este problema sem ter de adquirir o pycharm???
      Meu ouvidos estão abertos a tudo e a todos.
      Desde já, minha gratidão,
      Vanildo Braga.

    • #117006
      IcaroFilho
      Moderador

      Boa noite Vanildo,
      Não entendi muito bem o contexto que deseja aplicar o lambda, mas vamos ver se consigo te dar uma luz.
      Funções lambdas são funções anônimas que permite o seu “reuso” de maneira simplificada.

      Exemplo_1: Suponha que deseja acrescentar 30% de juros em cima de determinado valor.

      preco_item = 100
      calcular_preco = lambda x : x * 1.3
      preco_final = calcular_preco(preco_item)
      print(preco_final) # 130.0

      Exemplo_1: Suponha que deseja acrescentar N% de juros em cima de determinado valor.

      preco_item = 100
      juros = 30
      calcular_preco = lambda x,y : x * (y/100+1)
      preco_final = calcular_preco(preco_item,juros)
      print(preco_final) # 130.0

      No seu caso, você esta querendo utilizar uma lista, então precisa de um método para iterar em cima de cada valor da lista.
      para isso utilizamos o MAP():

      lista_inicial = [1, 2, 3, 4, 5]
      lista_final= list(map(lambda x: x * 2,lista_inicial))
      print(lista_final)
      # [2, 4, 6, 8, 10]

      Note que o MAP() recebe como primeiro argumento a função lambda e o segundo é a própria lista que deseja iterar.

    • #117016
      ANTONIO FILHO
      Participante

      ola, boa noite!!!
      comecei a fazer o curso de python, porem o Gustavo indicou baixar o Pc para trabalhar, se eu usar o jupiter, é a mesma coisa?

      • #117023
        IcaroFilho
        Moderador

        Bom dia Antonio,
        Você consegue utilizar o jupiter para os estudos iniciais.
        Contudo indico fortemente que utilize uma IDE (pycharm, visual studio code) por ter suporte a uma variedade grande de pluggins e addons.

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.