gpt4 book ai didi

python - 如何循环遍历字典列表,并在 Ansible 中打印出每个键值对

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:53 24 4
gpt4 key购买 nike

我在 Ansible 配置中有一个字典列表

myList
- name: Bob
age: 25
- name: Alice
age: 18
address: USA

我把代码写成

- name: loop through
debug: msg ="{{item.key}}:{{item.value}}"
with_items: "{{ myList }}"

我想打印出来

msg: "name:Bob age:25 name:Alice age:18 address:USA"

我怎样才能遍历这个字典并得到键值对?因为它不知道什么是关键。如果我更改为 {{ item.name }},ansible 会工作,但我也想知道 key

最佳答案

如果您想遍历列表并分别解析每个项目:

- debug: msg="{{ item | dictsort | map('join',':') | join(' ') }}"
with_items: "{{ myList }}"

将打印:

"msg": "age:25 name:Bob"
"msg": "address:USA age:18 name:Alice"

如果你想将所有内容合并成一行,请使用:

- debug: msg="{{ myList | map('dictsort') | sum(start=[]) | map('join',':') | join(' ') }}"

这将给出:

"msg": "age:25 name:Bob address:USA age:18 name:Alice"

请记住,字典在 Python 中没有排序,因此您通常不能期望您的项目与 yaml 文件中的顺序相同。在我的示例中,它们在 dictsort 过滤器之后按键名排序。

关于python - 如何循环遍历字典列表,并在 Ansible 中打印出每个键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39497351/

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