用Ansible将二维列表拆分成字典列表

编程语言 2026-07-11

在Ansible中,如何把一个二维列表转换为字典列表?我看不出该怎么把它映射成字典。

取这个列表:

parent_list:
  - - "value1-1"
    - "value1-2"
  - - "value2-1"
    - "value2-2"

并把它转换成字典列表:

list_of_dicts:
  - key1: "value1-1"
    key2: "value1-2"
  - key1: "value2-1"
    key2: "value2-2"

解决方案

这正是 community.general.dict 的使用场景

- name: "Split 2-dimentional list into a list of dictionaries."
  vars:
    parent_list:
      - [value1-1, value1-2]
      - [value2-1, value2-2]
    result: "{{ parent_list | map('zip', ['key1', 'key2'])
                            | map('map', 'reverse')
                            | map('community.general.dict') }}"
  debug:
    var: result

得到的结果

    -   key1: value1-1
        key2: value1-2
    -   key1: value2-1
        key2: value2-2

[源代码]

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章