遍历字典,其中键的值再次是 ansible 中的列表

时间:2021-07-14 10:11:28

标签: ansible

字典如下-

    {
      "user1": ['abc'],
       "user2": ['mono','lolo']
}

我想在 ansible 中迭代这个 dict 及其值。请建议 我已经尝试过 with_items 和 with_nested 但没有以正确的顺序迭代(当键是 user1 时,值应该是 abc,但我随机得到单声道或有时是 lolo)

1 个答案:

答案 0 :(得分:0)

给定字典

    d1:
      user1: ['abc']
      user2: ['mono','lolo']

使用[temp.pre] 2.2将字典转换为列表并迭代dict2items,例如

    - debug:
        var: item
      with_subelements:
        - "{{ d1|dict2items }}"
        - value

给予

ok: [localhost] => (item=[{'key': 'user1'}, 'abc']) => 
  ansible_loop_var: item
  item:
  - key: user1
  - abc

ok: [localhost] => (item=[{'key': 'user2'}, 'mono']) => 
  ansible_loop_var: item
  item:
  - key: user2
  - mono

ok: [localhost] => (item=[{'key': 'user2'}, 'lolo']) => 
  ansible_loop_var: item
  item:
  - key: user2
  - lolo