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

Por que a função retorna o valor undefined

2  Asked on September 26, 2021 by lucas-ribeiro

         

Executar evento em botão tkinter

1  Asked on March 18, 2021 by rodrigo-cesarino

   

como executar uma procedure com parametro em php

1  Asked on March 6, 2021 by teste1234

   

Criar uma Trigger com JOIN para duplicar os dados

1  Asked on March 5, 2021 by richard-lucas

   

ConcurrentModificationException como proceder?

2  Asked on February 28, 2021 by roknauta

   

Materialize.css inserir icon por cima de uma imagem do card

1  Asked on February 26, 2021 by laranja-mecnica

     

Consultar grupos de distribuição do Active Directory

1  Asked on February 25, 2021 by renato-souza

 

Capturar dados de classes com python

0  Asked on February 24, 2021 by bruno-rayol

     

Como faço para não precisar ficar fazendo requisição toda hora a api?

1  Asked on February 24, 2021 by eduardo-nogueira

     

Como abrir ou fechar todos os itens de um Accordion

1  Asked on February 23, 2021 by fabrcio

     

Utilizar DataTable com Lazy dentro de vários p:tab

0  Asked on February 22, 2021 by ramon-borges

         

Renomear Extent Report após execução dos testes

0  Asked on February 22, 2021 by julliane-freitas

     

Números Palíndromos em C

1  Asked on February 21, 2021 by matheusramos43

 

Preencher lista e finalizar laço python

2  Asked on February 21, 2021 by oroborus_0

       

Formatação CSS para geração de PDF

1  Asked on February 20, 2021 by amanda-lima

   

Identificar um com jQuery

3  Asked on February 19, 2021

   

Ask a Question

Get help from others!

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