下面是一个使用Ansible将一个列表合并到另一个列表中的示例代码:
---
- hosts: localhost
gather_facts: false
vars:
list1:
- key: "key1"
value: "value1"
- key: "key2"
value: "value2"
list2:
- key: "key3"
value: "value3"
- key: "key4"
value: "value4"
tasks:
- name: Merge lists
set_fact:
merged_list: "{{ merged_list|default([]) + [{'key': item.key, 'value': item.value}] }}"
loop: "{{ list1 + list2 }}"
- name: Print merged list
debug:
var: merged_list
在上面的示例中,我们定义了两个列表list1和list2,每个列表包含两个字典元素,每个字典包含一个key和一个value。然后,我们使用set_fact模块将这两个列表合并到一个新的列表merged_list中。
在循环中,我们使用loop关键字来遍历list1和list2的组合。在每次迭代中,我们使用item.key和item.value来访问当前元素的key和value,并将其添加到merged_list中。
最后,我们使用debug模块打印出合并后的列表merged_list。
运行上述代码将输出以下结果:
TASK [Print merged list] ***********************************************************************************************
ok: [localhost] => {
"merged_list": [
{
"key": "key1",
"value": "value1"
},
{
"key": "key2",
"value": "value2"
},
{
"key": "key3",
"value": "value3"
},
{
"key": "key4",
"value": "value4"
}
]
}
可以看到,merged_list包含了list1和list2中所有的元素。