Jinja2地图列表到字典

问题描述 投票:2回答:1

是否可以使用列表/地图推导使用Jinja2将基元列表转换为词典列表?

鉴于这种结构:

list:
  - some_val
  - some_val_2

在每个元素上应用map以获得:

list:
  - statically_added: some_val
  - statically_added: some_val_2

其他可能的方式:list_from_example|map(attribute="statically_added")|list

python jinja2 salt-stack
1个回答
0
投票

它实际上非常简单。至少,这适用于Ansible:

vars:
  my_list:
    - some_val
    - some_val_2
  dict_keys:
    - key_1
    - key_2
tasks:
  - debug:
      msg: "{{ dict(dict_keys | zip(my_list)) }}"

输出:

TASK [debug] *******************************
ok: [localhost] => {
    "msg": {
        "key_1": "some_val",
        "key_2": "some_val_2"
    }

}

请注意,您必须提供密钥列表,并且它们必须是不同的(字典的性质意味着密钥不能相同)。

UPDATE。刚刚意识到标题有点误导,我回答了标题,而不是实际的问题。但是,我将保留原样,因为我相信很多人会谷歌将列表转换成字典并找到这篇文章。

© www.soinside.com 2019 - 2024. All rights reserved.