Oneliner 断言列表的所有元素

Oneliner to assert all elements of a list

在 Ansible 中,我试图找到一个 oneliner 来使用 python 生成器断言列表的所有元素都与正则表达式匹配。

类似于:

- assert:
    that:
      - (item is match('{{ regex }}') for item in list)

但我想不出正确的语法。

可能吗?怎么样?

一种可能的解决方案:使用 select filter 将列表缩减为与您的正则表达式匹配的元素,并将结果列表的大小与原始列表进行比较:

- assert:
    that:
      - (my_list | select('match', my_regex) | list | length) == (my_list | length)