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.
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,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 filtromap('float')
. El filtrolist
convierte la secuencia resultante de nuevo en una lista, y finalmente, el filtromin
devuelve el valor mínimo de la lista.Ten en cuenta que debes reemplazar
col1
,col2
,col3
ycol4
con los nombres de variables reales de las columnas en tu plantilla Jinja.