同一for循环中有多个变量(Jinja2,Yaml)

时间:2019-06-18 10:13:50

标签: ansible yaml jinja2

我在yaml文件中有一个列表

users:
  name:
    - abc
    - pqr
  age:
    - 10
    - 12

我想遍历jinja2模板中的上述值。 name中的成员与相同索引的age中的成员相关联。因此,我只想在单行中进行迭代。

{% for n in users['name'] and for a in users['age'] %}
    {{ n }}
    {{ a }}
{% endfor %}

此代码中的for循环不起作用。 我检查了官方文档,但找不到类似的示例。 谁能帮我这个忙吗?

1 个答案:

答案 0 :(得分:1)

下面的模板

{% for item in users.name|zip(users.age)|list %}
    {{ item.0 }}
    {{ item.1 }}
{% endfor %}

给予:

$ cat test.txt 
    abc
    10
    pqr
    12