AnswerBun.com

Obter nomes de uma lista que possuem tamanho igual a 4

Stack Overflow em Português Asked by P. Sampaio on January 4, 2022

Estou tentando resolver o seguinte problema: a partir de uma lista de nomes, preciso retornar somente os nomes com len 4.

Escrevi o código abaixo mas aparentemente o loop não está funcionando visto que, em uma lista com 4 nomes, sendo dois dentro do critério, ele só retorna um.

def nomes(x):
    for i in x:
        y = len(i)
        nome = []
        if y == 4:
            nome.append(i)
    return nome

2 Answers

Para referências futuras, você pode resolver em uma linha, com um código equivalente, utilizando a chamada compreensão de lista:

def nomes(lista, tamanho):
    return [nome for nome in lista if len(nome) == tamanho]

A função recebe a lista de nomes e o tamanho desejado, que neste caso seria 4; percorre todos os nomes da lista e se o tamanho coincidir com o tamanho desejado, adiciona-o à lista de saída.

Answered by Woss on January 4, 2022

Precisa inicializar a lista fora do laço, do jeito que está fazendo cada item analisado está começando a lista do zero e perde o que já tinha feito. Sempre que encontra um problema analise o que o código está fazendo. Vai explicando o que ele faz linha por linha, faça um teste de mesa.

def nomes(x):
    nome = []
    for i in x:
        if len(i) == 4:
            nome.append(i)
    return nome
    
print(nomes(["abc", "jose", "ana", "maria", "joao", "abcd"]))

Veja funcionando no ideone. E no repl.it. Também coloquei no GitHub para referência futura.

Answered by Maniero on January 4, 2022

Add your own answers!

Related Questions

vuejs retorna objeto student null ao tentar buscar estudante por id

3  Asked on December 2, 2021 by wellington-csar

   

Criar links que podem ser copiados ou clicados em Tkinter

1  Asked on December 2, 2021 by gabriel-nogueira

   

Como posso melhorar esse código?

1  Asked on December 2, 2021 by fabiano-vidal

   

Override de tipagem typescript

2  Asked on December 2, 2021 by murilo-fechio

   

Abrir uma página antes de carregar o header

2  Asked on November 30, 2021 by gustavo-moret

   

Selecionar parte de uma imagem

3  Asked on November 30, 2021

 

Retornar dia da semana a partir de uma data no formato dd/mm/yyy

4  Asked on November 30, 2021 by rafael-silva

   

Select change jQuery

1  Asked on November 30, 2021 by sr-andr-baill

 

Criteria para filtrar uma lista de array de string

1  Asked on November 30, 2021 by g-j

     

Comportamento do malloc(1) em C

2  Asked on November 30, 2021

         

Modal recebendo dados do banco de dados

1  Asked on November 30, 2021 by alex-sousa

     

Capitalizar texto em JavaScript, ignorando abreviações

2  Asked on November 30, 2021 by marlucio-pires

     

Escolhas aleatórias em um array JavaScript

3  Asked on November 30, 2021 by elias-oliveira

 

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir