使用列表遍历列表的列表

  • 本文关键字:列表 遍历 jinja2
  • 更新时间 :
  • 英文 :


我想遍历列表,对于列表中的每个元素,我必须遍历jinja2中其他列表列表的相应元素。

这些列表:

devices=["device1","device2","device3"]
device_ports=[["device1port1","device1port2"],["device2port1","device2port2"],["device3port1","device3port2"]]

金贾模板:

{% for device,device_port in devices,device_ports %}
{% for port in device_port %}
{{device}} {{port}}
{% endfor %}
{% endfor %}

预期模板输出:

device1 device1port1
device1 device1port2
device2 device2port1
device2 device2port2
device3 device3port1
device4 device4port2

错误:

值错误:要解压缩的值太多(预期为 2(

最好在这里使用索引。您可以在循环中轻松访问当前项目索引,并执行所需的遍历:

{% for device in devices %}
{% for port in device_ports[loop.index0] %}
{{device}} {{port}}
{% endfor %}
{% endfor %}

loop.index0这里是当前项目的索引,devices(即device(,您可以使用此索引从device_ports访问相应的项目。

最新更新