我想遍历字典列表以及其他字典。它们都具有相同的架构。
- set_fact:
my_list:
- { foo: 1, bar: 2, baz: 3 }
- { foo: 4, bar: 5, baz: 6 }
- { foo: 7, bar: 8, baz: 9 }
- debug:
msg: "{{item.foo}} {{item.bar}} {{item.baz}}"
loop:
- "{{ my_list }}"
- { foo: 10, bar: 11, baz: 12 }
- { foo: 13, bar: 14, baz: 15 }
但这给出了:
<块引用>失败! => {"msg": "该任务包含一个带有未定义变量的选项。错误是:'list object' 没有属性 'foo'
我该怎么做?
答案 0 :(得分:1)
连接列表,例如
- debug:
msg: "{{ item.foo }} {{ item.bar }} {{ item.baz }}"
loop: "{{ my_list +
[{'foo': 10, 'bar': 11, 'baz': 12}] +
[{'foo': 13, 'bar': 14, 'baz': 15}] }}"
给予
msg: 1 2 3
msg: 4 5 6
msg: 7 8 9
msg: 10 11 12
msg: 13 14 15
下面的 YAML 格式给出了相同的结果
- debug:
msg: "{{ item.foo }} {{ item.bar }} {{ item.baz }}"
loop: "{{ my_list + _list2 + _list3 }}"
vars:
_list2:
- foo: 10
bar: 11
baz: 12
_list3:
- foo: 13
bar: 14
baz: 15