在Ansible中的列表中循环列表

在Ansible中的列表中循环列表,ansible,jinja2,ansible-template,Ansible,Jinja2,Ansible Template,我在Ansible中有一个简单的多级列表: elements: - 'aaaa': - '1111' - '2222' - 'bbbb': - '3333' - '4444' 我的模板看起来像: {% for level1 in elements %} {% for level2 in level1 %} {{ level2 }}

我在Ansible中有一个简单的多级列表:

        elements:
       - 'aaaa':
          - '1111'
          - '2222'
       - 'bbbb':
          - '3333'
          - '4444'
我的模板看起来像:

    {% for level1 in elements %}
      {% for level2 in level1 %}
          {{ level2 }}
      {% endfor %}
    {% endfor %}
输出为:

    aaaa
      bbbb
但我想要一些类似的东西:

aaaa:1111222 bbbb:3333444


如何修改此jinja joop以获得此结果?

因此基本上您必须遍历级别1的项目

更新的Jinja2查询是

输出:


所以基本上你必须遍历level1的项目

更新的Jinja2查询是

输出:

问:想要类似的东西吗

aaaa:1111222 bbbb:3333444 A:下面的任务就可以了

-调试: 味精:| {level1在元素%}{{level1.keys | first}}中的百分比: {%-用于级别1中的v。值|第一个%}{{v} {%-endfor%}{%endfor%} 给予

aaaa:1111222 bbbb:3333444 问:想要类似的东西吗

aaaa:1111222 bbbb:3333444 A:下面的任务就可以了

-调试: 味精:| {level1在元素%}{{level1.keys | first}}中的百分比: {%-用于级别1中的v。值|第一个%}{{v} {%-endfor%}{%endfor%} 给予

aaaa:1111222 bbbb:3333444
谢谢,但那不起作用。输出是:'aaaa',['1111','2222']…@Janek更新了答案。谢谢,谢谢,但那不行。输出是:'aaaa',['1111','2222']…@Janek更新了答案。谢谢
{%- for level1 in elements -%}
 {%- for key, value in level1.iteritems() -%}
     {{ key }}: {{ value|join(' ') }}
 {%- endfor -%}
{% if not loop.last %} {% endif %}
{%- endfor -%}
aaaa: 1111 2222 bbbb: 3333 4444