Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
Cómo reescribir declaraciones if-else mejor en python

Tengo una declaración if-else como la siguiente, básicamente funciona de maravilla, pero las condiciones cambian con frecuencia, puede agregar más... Así que creo que la forma if-else no es optimizar. Es por eso que me pregunto si hay una mejor solución para reducir el código duplicado para eso.

 name1, name2, name3, name4, name5 = "David", "Luke", "Kate", "Bobby", "Megan" sentences = ["Megan is my friend", "Boddy is my friend"] existed_name = [] for sentence in sentences: if name1 in sentence: existed_name.append(name1) elif name2 in sentence: existed_name.append(name2) elif name3 in sentence: existed_name.append(name3) elif name4 in sentence: existed_name.append(name4) elif name5 in sentence: existed_name.append(name5) else: existed_name.append('Empty')

Muchas gracias por ayudarme.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Agregando a la respuesta de Abhinav, puede tener una bandera para ver si el nombre existía o no.

 names = ["David", "Luke", "Kate", "Bobby", "Megan"] sentences = ["Megan is my friend", "Boddy is my friend"] for sentence in sentences: existed = False for name in names: if name in sentence: existed_name.append(name) existed = True break if not existed: existed_name.append("Empty")
over 4 years ago · Santiago Trujillo Relatório

0

Podría usar un bucle anidado simple para esto si define todos los nombres en una sola lista en lugar de como variables separadas.

 names = ["David", "Luke", "Kate", "Bobby", "Megan"] sentences = ["Megan is my friend", "Boddy is my friend"] existing_names = [] for sentence in sentences: for name in names: if name in sentence: existing_names.append(name) print(existing_names) # ["Megan"]
over 4 years ago · Santiago Trujillo Relatório

0

Si prefiere la comprensión de una lista de líneas

 names = ["David", "Luke", "Kate", "Bobby", "Megan"] sentences = ["Megan is my friend", "Boddy is my friend"] existed_name = [name for name in names for sentence in sentences if name in sentence]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda