Это простая демонстрация фильтра zip
, которая исправит вашу проблему. Я использовал 3 списка ввода, чтобы показать, что он может работать более чем с двумя (а также потому, что ваш пример «ab c, 123» посадил песню в моем мозгу до конца дня…)
Примечание: после вашего комментария вы можете получить точно такой же результат, как показано ниже в ansible 2.4, заменив loop
на with_list
демонстрационную пьесу
---
- hosts: localhost
gather_facts: false
vars:
list1: [a, b, c]
list2: [1, 2, 3]
list3: [do, re, mi]
tasks:
- name: Love receipe
debug:
msg: "{{ item.0 }}, it's easy as {{ item.1 }}, as simple as {{ item.2 }}"
loop: "{{ list1 | zip(list2, list3) | list }}"
И результат:
PLAY [localhost] ***************************************************************************************************************************************************************
TASK [Love receipe] ************************************************************************************************************************************************************
ok: [localhost] => (item=['a', 1, 'do']) => {
"msg": "a, it's easy as 1, as simple as do"
}
ok: [localhost] => (item=['b', 2, 're']) => {
"msg": "b, it's easy as 2, as simple as re"
}
ok: [localhost] => (item=['c', 3, 'mi']) => {
"msg": "c, it's easy as 3, as simple as mi"
}
PLAY RECAP *********************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0