如何解决识别ansible字典值中重复的键值对
我有这本词典:
Ip = {'a':['one','two','three'],'b':['one','five','six'],'c':['seven','eight','nine'],'d':['five']}
我希望我的输出是这样的
Op = {'a':['one','d':['five']}
由于它在字典中具有一些常见的值,例如“一”或“五”,因此应删除重复的值。
解决方法
例如
- set_fact:
Op: "{{ Op|d({})|combine({item.key: Ip[item.key]}) }}"
loop: "{{ Ip|dict2items }}"
vars:
_lists: "{{ Ip|dict2items|json_query('[].value') }}"
_reduced: "{{ _lists|difference([item.value]) }}"
_match: "{{ _reduced|map('intersect',item.value)|flatten }}"
when: _match|length > 0
给予
Op:
a:
- one
- two
- three
b:
- one
- five
- six
d:
- five
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。