gpt4 book ai didi

Ansible 检查字典列表中是否存在键/值对

转载 作者:行者123 更新时间:2023-12-04 17:43:42 26 4
gpt4 key购买 nike

我正在尝试检查 Ansible 的字典列表中是否存在某个键/值对。

我发现了这个问题,但是我不确定从 python 到 ansible 的语法是否不同(我从未见过 ansible 中的 if 语句!)
Check if value already exists within list of dictionaries?

我已经尝试过 when 条件:

  when: '"value" not in list'

但是我对此没有任何运气。

例如,列表看起来像:
list: [
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
},
{
"key1" : "value4",
"key2" : "value5",
"key3" : "value6"
},
and so on

例如,我试图找出这对 "key2":"value5" 是否存在于列表中的任何词典中。希望有一种方法可以做到这一点,如果这对存在,则为真,否则为假?

任何提示将非常感谢!谢谢。

最佳答案

干得好:

- hosts: localhost
gather_facts: no
vars:
list_of_dicts: [
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
},
{
"key1" : "value4",
"key2" : "value5",
"key3" : "value3"
}]
tasks:
- debug:
msg: found
when: list_of_dicts | selectattr(search_key,'equalto',search_val) | list | count > 0
vars:
search_key: key3
search_val: value3

关于Ansible 检查字典列表中是否存在键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44956782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com