Ir ao conteúdo

Python Como montar função lambda ? (recebendo lista dentro de listas) Python 3


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Olá, eu estou em duvidas sobre a função lambda... Já ouvi falar bastante e já tentei pesquisar um pouco sobre, porém nunca consegui usar de forma "pratica" em nenhum programa que fiz ate hoje...

No caso em questão eu possuo uma lista que possui 1 ou mais listas dentro dela.
A informação que eu quero retirar esta na posição 0 de cada uma dessas listas... Eu pensei em usar uma função, porém como só vai ser utilizada 1 vez durante todo o programa, eu acabei pensando que possa ser uma boa hora de usar o lambda.
Porém não consigo pensar a forma correta que eu devo montar a função.


Um exemplo de possíveis listas:
 

x = [['a', 1], ['b', 2]]
y = [['g', 3]]

## função que recebe uma lista e retorna uma lista contendo os valores das posições 0 de cada lista interna

## valores que pretendo receber com cada lista:
## x -> ['a','b']
## y -> ['g']


Caso ache que outra forma possa compensar mais estou aberto a sugestões!
Se possível gostaria de um pouco de explicação de como montar/foi montado...

Postado
19 horas atrás, William Chapuis disse:

Olá, eu estou em duvidas sobre a função lambda... Já ouvi falar bastante e já tentei pesquisar um pouco sobre, porém nunca consegui usar de forma "pratica" em nenhum programa que fiz ate hoje...

No caso em questão eu possuo uma lista que possui 1 ou mais listas dentro dela.
A informação que eu quero retirar esta na posição 0 de cada uma dessas listas... Eu pensei em usar uma função, porém como só vai ser utilizada 1 vez durante todo o programa, eu acabei pensando que possa ser uma boa hora de usar o lambda.
Porém não consigo pensar a forma correta que eu devo montar a função.


Um exemplo de possíveis listas:
 


x = [['a', 1], ['b', 2]]
y = [['g', 3]]

## função que recebe uma lista e retorna uma lista contendo os valores das posições 0 de cada lista interna

## valores que pretendo receber com cada lista:
## x -> ['a','b']
## y -> ['g']


Caso ache que outra forma possa compensar mais estou aberto a sugestões!
Se possível gostaria de um pouco de explicação de como montar/foi montado...


Caso ajude... Até o momento, a forma que estou utilizando seria essa:

for i in x:
  resposta.append(i[0])

 

  • Solução
Postado

Pode ser feito com list comprehension, no caso do x, p.ex,

 

x_0 = [i[0] for i in x]

print(x_0)

 

Com função,

def pos_0(L):
  return [i[0] for i in L]

x = [['a', 1], ['b', 2]]
y = [['g', 3]]

print(pos_0(x))
print(pos_0(y))

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!