如何从列表中获取项目

如何从列表中获取项目

给出以下列表:

colors:
  red: enabled
  yellow: enabled
  green: disabled
  blue: enabled
  purple: disabled

如何获取已启用的颜色列表(以下不起作用):

- debug:
     msg: "{{ item[0] }}"
  when: item[1] == 'enabled
  with_items: '{{ colors}}'

我想我可能想太多了,因为这看起来应该很简单。提前谢谢。

答案1

例如,

colors_enabled: "{{ colors|dict2items|
                           selectattr('value', 'eq', 'enabled')|
                           map(attribute='key')|
                           list }}"

给出已启用颜色的列表

colors_enabled:
  - red
  - yellow
  - blue

相关内容