You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible如何从字典列表中提取指定子键对应的字典生成新列表

实现方法

你只需要使用map过滤器的attribute参数直接提取每个列表元素下的指定键值即可,无需使用extract过滤器:

new_dictionary: "{{ orig_dictionary | map(attribute='key2') | list }}"

你可以直接在set_fact模块中使用上述表达式,即可生成符合要求的new_dictionary结构。


说明

  • map(attribute='key2')会遍历orig_dictionary的每个字典元素,直接提取每个字典中key2对应的字典值
  • 末尾加list过滤器将map返回的迭代器转为列表格式,最终得到你需要的目标结构

报错原因

你之前用extract得到字符串的原因是extract过滤器的适用场景不匹配:extract是用于从单个字典对象中提取指定键的值,你传入的是列表结构,参数不匹配时会返回错误的默认字符串值。

内容的提问来源于stack exchange,提问作者J. M. Becker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:54:03