gpt4 book ai didi

Ansible:将两个列表转换为键、值字典

转载 作者:行者123 更新时间:2023-12-02 08:57:04 27 4
gpt4 key购买 nike

我有 2 个列表作为 set_fact 并且想要创建一个字典

我运行的是ansible 2.8我有如下列表

  "inventory_devices": [
"device0",
"device1"
]

和列表2如下

"inventory_ips": [
"10.1.1.1",
"10.1.1.2"
]

我想要得到像这样的输出显示

"inventory_dict": [
"device0": "10.1.1.1",
"device1": "10.1.1.2"
]

谢谢。

最佳答案

您可以使用 zip filter built into ansible 完全使用 jinja2 来完成此操作.

To get a list combining the elements of other lists use zip

- name: give me list combo of two lists
debug:
msg: "{{ [1,2,3,4,5] | zip(['a','b','c','d','e','f']) | list }}"

...

Similarly to the output of the items2dict filter mentioned above, these filters can be used to contruct a dict:

{{ dict(keys_list | zip(values_list)) }}

zip 过滤器按顺序组合列表对中的项目,而 dict 构造则根据列表对创建字典。

inventory_dict: "{{ dict(inventory_devices | zip(inventory_ips)) }}"

关于Ansible:将两个列表转换为键、值字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com