Loops 使用Ansible中的索引迭代两个列表

Loops 使用Ansible中的索引迭代两个列表,loops,ansible,ansible-filter,Loops,Ansible,Ansible Filter,我对编程语言有很好的了解,但有一些东西我不能用Ansible过滤器和YAML语法。 基本上,我想迭代数组/列表,并对每个元素进行比较,就像C语言中的那样: for (i=0;i<a;i++) { for (j=0;j<b;j++) { if (array1[i]==array2[j]) { .... } } } 例如(i=0;i) -hosts:localhost 变量: 阵列1:[a、b、c] 阵列2:[b、d、c、a] 任务

我对编程语言有很好的了解,但有一些东西我不能用Ansible过滤器和YAML语法。 基本上,我想迭代数组/列表,并对每个元素进行比较,就像C语言中的那样:

for (i=0;i<a;i++) {
  for (j=0;j<b;j++) {
     if (array1[i]==array2[j]) {
        ....     
     }
  }
}
例如(i=0;i)

-hosts:localhost
变量:
阵列1:[a、b、c]
阵列2:[b、d、c、a]
任务:
-调试:
msg:“{item.0}=={{item.1}{{{item.0==item.1}}”
循环:{array1 |乘积(array2)|列表}”
给予

msg:a==b假
msg:a==d假
msg:a==c错误
msg:a==a真
msg:b==b真
msg:b==d假
msg:b==c错误
msg:b==a假
msg:c==b假
msg:c==d假
msg:c==c真
msg:c==错误
如果你想找到索引

-调试:
msg:“array1[{{array1.index(item.0)}]==
array2[{{array2.index(第1项)}}]
循环:{array1 |乘积(array2)|列表}”
时间:item.0==item.1
给予

msg:array1[0]==array2[3]
msg:array1[1]==array2[0]
msg:array1[2]==array2[2]

是的,谢谢!这是一个很好的例子:)