Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

239
Vistas
¿Cómo concatenar una cadena devuelta por una lambda con otras cadenas?

Estoy tratando de usar una lambda para verificar si el atributo problematic_object de un objeto ( self ) es None . Si es así, debería devolver un "" (una cadena vacía), y si no, str(self.problematic_object) . He probado a hacerlo de 3 formas:

1:

 def __str__(self): return "string1" + str(self.object) + "\n" + "string2" + self.another_object + "\n" + "string3" + exec(lambda self: str(self.problematic_object) if self.problematic_object!=None else "")

2:

 def __str__(self): return "string1" + str(self.object) + "\n" + "string2" + self.another_object + "\n" + "string3" + (lambda self: str(self.problematic_object) if self.problematic_object!=None else "")

3:

 def __str__(self): return "string1" + str(self.object) + "\n" + "string2" + self.another_object + "\n" + "string3" + lambda self: str(self.problematic_object) if self.problematic_object!=None else ""

Me sale este error en todos los casos:

Error de sintaxis: sintaxis invalida

Sé que esto se puede hacer usando un if-else normal, pero ¿hay alguna forma de hacerlo usando un lambda ? Esta es la primera vez que uso una lambda y este tipo de if-else . ¿Cuál es el error que estoy cometiendo? ¿Se puede usar una lambda así?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si self.problematic_object es posiblemente None , y en ese caso solo desea una cadena vacía, simplemente use f-strings para agregarla a su cadena general. No hay necesidad de ninguna lógica booleana:

 def __str__(self): return f"string1{self.object}\nstring2{self.another_object}\nstring3{self.problematic_object}"

Si self.problematic_object es None , no se agregará nada al final de la cadena. Si no es None , se agregará su valor.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda