我有以下 YAML 结构:
bri:
cards:
- slot: "1"
subslot: "0"
ports: 2
- slot: "1"
subslot: "1"
ports: 2
- slot: "1"
subslot: "2"
ports: 2
- slot: "2"
subslot: "0"
ports: 2
- slot: "2"
subslot: "1"
ports: 2
我正在尝试使用 Jinja2 获取唯一的 插槽 列表,即:
['1', '2']
到目前为止,我已经设法应用了以下内容:
{{ bri.cards|map(attribute='slot')|list }}
这给了我:
['1', '1', '1', '2', '2']
但是,我似乎无法找到获得唯一列表的方法。
Ansible的
Ansible 似乎有一个“独特”的过滤器可以做到这一点。但在这种情况下我没有使用 Ansible。
我的问题
谁能建议实现这一目标的最佳方法?这应该(或可以)用 Jinja2 本地完成,还是我应该采用替代方法?
原文由 jonathan 发布,翻译遵循 CC BY-SA 4.0 许可协议
自 jinja2
2.10
在版本中添加了
unique
过滤器2.10
(2017-11-08 发布)。您可以检查 更改日志 和 PR 。使用示例
输出: