如何使用Ansible从另一个列表中删除子列表

如何使用Ansible从另一个列表中删除子列表,ansible,Ansible,我有一个列表,它的所有项目都包含在另一个更大的列表中,我想删除它们 -名称:开始 设定事实: 当前使用的端口:[“5”、“7”、“8”] -名称:创建标准端口列表 设定事实: 端口列表:“{range(5,10+1)| reject('search','6')|list}” #-调试:var=ports\u列表 -名称:设置一个包含未使用端口的列表 设定事实: 可用的_端口:{{当前使用的_端口|拒绝('search',item)|列表}” 带_项:“{{当前使用的_端口}” 登记:退出 -调试

我有一个列表,它的所有项目都包含在另一个更大的列表中,我想删除它们

-名称:开始
设定事实:
当前使用的端口:[“5”、“7”、“8”]
-名称:创建标准端口列表
设定事实:
端口列表:“{range(5,10+1)| reject('search','6')|list}”
#-调试:var=ports\u列表
-名称:设置一个包含未使用端口的列表
设定事实:
可用的_端口:{{当前使用的_端口|拒绝('search',item)|列表}”
带_项:“{{当前使用的_端口}”
登记:退出
-调试:var=out
我正在尝试应用
拒绝
搜索
过滤器,以查找和删除子列表中的项目,但没有成功

我想以
可用端口=[9,10]

编辑

我使用了anmol sharma建议的
差异
,但什么也没发生。
但是,问题在于每个列表中元素的类型。如果我设置当前使用的
端口:[5,7,8]
ansible将int与int进行比较,并且使用
difference
使用ansible
difference
过滤器的结果是正确的

- set_fact:
    available_ports: "{{ ports_list | difference(currently_used_ports) }}"
有关更多信息,请查看此