下面是一个使用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
中所有的元素。