正如标题所暗示的那样,如果一个字典的关键在另一个字典中找到,我希望将这两个字典合并起来;使用第二个字典的值。
例如
第1部分:
{
"test": "replace me",
"test2": "some value"
}
第2部分:
{
"test": "replaced",
"test3": "Don't add"
}
综合结果:
{
"test": "replaced",
"test2": "some value"
}
答案 0 :(得分:1)
下面的剧本
shell> cat playbook.yml
- hosts: localhost
vars:
dict1:
test: "replace me"
test2: "some value"
dict2:
test: "replaced"
test3: "Don't add"
tasks:
- set_fact:
dict1: "{{ dict1|combine({item: dict2[item]}) }}"
loop: "{{ dict1.keys()|list|intersect(dict2.keys()|list) }}"
- debug:
var: dict1
给予
shell> ansible-playbook playbook.yml
...
ok: [localhost] => {
"dict1": {
"test": "replaced",
"test2": "some value"
}
}