gpt4 book ai didi

Ansible:从列表中删除空值并将其分配给新列表

转载 作者:行者123 更新时间:2023-12-04 12:05:52 30 4
gpt4 key购买 nike

我有一个使用任务收集的值在 ansible 中生成的列表。在该列表中,有一些空字符串,因为某些键没有分配给它们的值。所以,我想要实现的是将该列表分配给一个新列表,但没有那些空值。

list1: [
"a",
"b",
"",
"7",
""
]

我尝试了以下方法,但似乎不起作用:
set_fact:
list2: "{{ list1 1 | rejectattr('') |list }}"

有没有人能够指出我做错了什么并为我的问题提供解决方案?
Ansible version: 2.9.1

最佳答案

问:从列表 1 中删除空值 ["a", "b", "", "7", ""]
答:只需使用 select筛选。引用:

"If no test is specified, each object will be evaluated as a boolean."


    - set_fact:
list2: "{{ list1|select()|list }}"
- debug:
var: list2

    "list2": [
"a",
"b",
"7"
]

通过拒绝空字符串可以获得相同的结果。例如
    - set_fact:
list2: "{{ list1|reject('match', '^$')|list }}"

关于Ansible:从列表中删除空值并将其分配给新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60525961/

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