Python 如何从数组中取出某些项

Python 如何从数组中取出某些项,python,jinja2,Python,Jinja2,在我的flask/jinja2应用程序中,我从数据库中获取一些行以打印到表中。对于每一行,我想为第一项中的行定义一个标识符,用第二项定义行的类,并将行的其余部分打印为表数据。我是这样做的,它可以工作,但感觉有点笨拙: {%- for item in row %} {% if loop.index==1 %} <tr id="rec{{item}}" {% elif loop.index==2 %} class="{{item}}" >

在我的flask/jinja2应用程序中,我从数据库中获取一些行以打印到表中。对于每一行,我想为第一项中的行定义一个标识符,用第二项定义行的类,并将行的其余部分打印为表数据。我是这样做的,它可以工作,但感觉有点笨拙:

{%- for  item in row %}
    {% if loop.index==1 %}
      <tr id="rec{{item}}" 
    {% elif loop.index==2 %}
     class="{{item}}" >
    {% else %}
      <td>{{item}}</td>
    {% endif %}
  {% endfor -%}</tr>
然后使用变量id和类定义行,然后遍历列表的剩余部分。这在金甲2号有可能吗


(使用debian 9上安装的jinja 2.8,但如果这能让事情变得更好的话,当然可以升级)

您可以使用数组的索引从数组中获取第一个项目,并使用数组的切片(例如,
行[2:][/code>)作为for循环:

<tr id="rec{{row[0]}}" class="{{row[1]}}" >
{%- for item in row[2:] %}
   <td>{{item}}</td>
{% endfor -%}</tr>

{%-对于第[2:]%行中的项
{{item}}
{%endfor-%}

您可以使用其索引从数组中获取第一个项目,并使用数组的一个切片(例如,
行[2:]
)作为for循环:

<tr id="rec{{row[0]}}" class="{{row[1]}}" >
{%- for item in row[2:] %}
   <td>{{item}}</td>
{% endfor -%}</tr>

{%-对于第[2:]%行中的项
{{item}}
{%endfor-%}

我想你可以在Jinja模板中使用切片,你能试试这个吗,因为我无法测试它:

    <tr id="rec{{row[0]}}" 
    class="{{row[1]}}" >
    {% for  item in row[2:] %}
      <td>{{item}}</td>
    {% endfor -%}
    </tr>

{第[2:]%行中的项的%
{{item}}
{%endfor-%}

我想你可以在Jinja模板中使用切片,你能试试这个吗,因为我无法测试它:

    <tr id="rec{{row[0]}}" 
    class="{{row[1]}}" >
    {% for  item in row[2:] %}
      <td>{{item}}</td>
    {% endfor -%}
    </tr>

{第[2:]%行中的项的%
{{item}}
{%endfor-%}