我想比较两个列表-一个带有所有可用选项,第二个带有要选择的特定选项。 例如,我有两个列表:
FullList:
- name: "Test1"
value1: "blabla123"
value2: "someothervalue"
- name: "Test2"
value1: "blsdfsdfasfabla"
value2: "someothervalue"
- name: "Test3"
value1: "sdjfbhsadbfv"
value2: "someothervalue"
- name: "Test4"
value1: "sdjkfnsjkf"
value2: "sdjkfnsjkf"
它包含所有可用元素及其属性。
我还有第二个列表,带有特定的键,可以从整个列表中选择项目。
List1:
- "Test2"
- "Test3"
我想从FullList中获得List1中的元素
即我希望
Result:
- name: "Test2"
value1: "blsdfsdfasfabla"
value2: "someothervalue"
- name: "Test3"
value1: "sdjfbhsadbfv"
value2: "someothervalue"
任何帮助将不胜感激!
答案 0 :(得分:2)
Filter selectattr 和test in 中的工作。例如
- set_fact:
Result: "{{ FullList|selectattr('name', 'in', List1)|list }}"
答案 1 :(得分:1)
请尝试如下打印
tasks:
- debug:
msg : "{{ item }}"
when: item.name in List1
loop: "{{FullList}}"
要保存为变量,请按以下方式使用
- name: test
set_fact:
test: "{{ item }}"
when: item.name in List1
loop: "{{FullList}}"