es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Valor mínimo Jinja

Tengo una plantilla de Jinja con una tabla que tiene 5 columnas para cada fila. La columna 1 a la 4 son representaciones variables en forma de cadena de números (decimales de punto flotante), la columna 5 muestra el valor mínimo de estas 4 columnas utilizando el siguiente código:

jinja2
{{ ['1', '2', '3', '4'] | min }}

Esto funciona bien siempre y cuando las 4 columnas estén llenas. Una vez que una de las columnas está vacía, no se devuelve nada.

{{ ['1', '2', '3', ''] | min }}

¿Hay alguna manera de solucionar esto?


Nota: la pregunta original mencionaba una lista de enteros [1, 2, 3, 4], pero después de imprimirlos de forma legible, me di cuenta de que en realidad eran representaciones en forma de cadena de los enteros.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de solucionar esto. Una posible manera es utilizar el filtro integrado default en Jinja para proporcionar un valor predeterminado para cualquier columna faltante. Por ejemplo,

    {{ [col1, col2, col3, col4] | default('') | map('float') | list | min }}
    

    Aquí, el filtro default('') establece cualquier columna faltante como una cadena vacía, que luego se mapea a un número de punto flotante utilizando el filtro map('float'). El filtro list convierte la secuencia resultante de nuevo en una lista, y finalmente, el filtro min devuelve el valor mínimo de la lista.

    Ten en cuenta que debes reemplazar col1, col2, col3 y col4 con los nombres de variables reales de las columnas en tu plantilla Jinja.

Comments are closed.