我想从另一个列表中删除一个项目。
"my_list_one": [
"item1",
"item2",
"item3"
] }
我的第二个 list :
"my_list_two": [
"item3"
] }
如何从此列表中删除“item3”以设置新事实?
我尝试使用“-”,这:
set_fact: "{{ my_list_one | union(my_list_two) }}"
最终目标:
"my_list_one": [
"item1",
"item2"
] }
最佳答案
使用 difference
而不是union
:
{{ my_list_one | difference(my_list_two) }}
一个示例剧本(请注意,您还必须为
set_fact
提供变量名):---
- hosts: localhost
connection: local
vars:
my_list_one:
- item1
- item2
- item3
my_list_two:
- item3
tasks:
- set_fact:
my_list_one: "{{ my_list_one | difference(my_list_two) }}"
- debug: var=my_list_one
结果(节选):
TASK [debug] *******************************************************************
ok: [localhost] => {
"my_list_one": [
"item1",
"item2"
]
}
关于python - Ansible-如何从列表中删除项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40927792/