You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jinja中获取列表倒数第二个索引 实现循环非末尾元素后加分隔符

Jinja2 遍历列表非末尾元素加分隔符实现方案

首先你原有代码无法生效的核心原因是模板标签语法错误:endif和endfor的起始标记错误写成了<%,Jinja2的控制块起始/结束标记统一为{%,错误的标记导致判断逻辑没有被正确解析执行。

最优实现方案(推荐)

直接使用Jinja2 for循环内置的loop.last变量,无需手动计算列表长度,逻辑更清晰不易出错:

{% for value in values %}
    {{ value }}
    {% if not loop.last %}
        --->
    {% endif %}
{% endfor %}

说明:loop.last是Jinja2内置的循环状态变量,当遍历到列表最后一个元素时会返回True,以上代码表示仅当不是最后一个元素时,才输出后方的分隔符,完全符合你的需求。

长度判断的正确写法

如果你坚持使用列表长度判断的方式,修正语法错误后,你最开始写的loop.index < values|length本身逻辑是正确的,因为loop.index从1开始计数,长度为3的列表,只有前两个元素(index为1、2)满足小于3的条件,会输出分隔符:

{% for value in values %}
    {{ value }}
    {% if loop.index < values|length %}
        --->
    {% endif %}
{% endfor %}

内容的提问来源于stack exchange,提问作者marlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:06:03