community.general.lists_intersect filter – Intersection of lists with a predictive order
Note
This filter plugin is part of the community.general collection (version 10.1.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.lists_intersect
.
New in community.general 8.4.0
Synopsis
Provide a unique list of all the common elements of two or more lists.
The order of the items in the resulting list is preserved.
Input
This describes the input of the filter, the value before | community.general.lists_intersect
.
Parameter |
Comments |
---|---|
A list. |
Keyword parameters
This describes keyword parameters of the filter. These are the values key1=value1
, key2=value2
and so on in the following
example: input | community.general.lists_intersect(key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
Whether to remove one hierarchy level from the input list. Choices:
|
Examples
- name: Return the intersection of list1 and list2.
ansible.builtin.debug:
msg: "{{ list1 | community.general.lists_intersect(list2) }}"
vars:
list1: [1, 2, 5, 3, 4, 10]
list2: [1, 2, 3, 4, 5, 11, 99]
# => [1, 2, 5, 3, 4]
- name: Return the intersection of list1, list2 and list3.
ansible.builtin.debug:
msg: "{{ [list1, list2, list3] | community.general.lists_intersect(flatten=true) }}"
vars:
list1: [1, 2, 5, 3, 4, 10]
list2: [1, 2, 3, 4, 5, 11, 99]
list3: [1, 2, 3, 4, 5, 10, 99, 101]
# => [1, 2, 5, 3, 4]
Return Value
Key |
Description |
---|---|
A unique list of all the common elements from the provided lists. Returned: success |