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

如何在Hydra中扩展默认配置文件中的列表?

如何扩展defaults配置中的列表?

我在defaults配置文件base_list中定义了一个列表:

list:
  - 1
  - 2

目前如果在配置文件中通过以下方式覆盖:

defaults:
  - base_list
list:
  - 3
  - 4

得到的结果是列表被完全替换:

list:
- 3
- 4

但我希望扩展原列表,最终得到包含原元素和新元素的列表:

list:
- 1
- 2
- 3
- 4

实现方法

具体语法取决于你使用的配置系统,以下是几种常见场景的解决方案:

  1. Ansible 配置
    可以通过列表拼接语法实现扩展:

    defaults:
      - base_list
    list: "{{ list + [3, 4] }}"
    

    或者在Ansible 2.10及以上版本中,支持更简洁的+=语法:

    defaults:
      - base_list
    list +=:
      - 3
      - 4
    
  2. Hydra 配置
    使用_extend关键字开启列表扩展:

    defaults:
      - base_list
    list:
      _extend: True
      - 3
      - 4
    
  3. 通用YAML合并(部分工具支持)
    先在base_list中定义锚点,再在扩展配置中引用锚点并追加元素:

    # base_list中的配置
    list: &original_list
      - 1
      - 2
    
    # 扩展配置
    defaults:
      - base_list
    list:
      <<: *original_list
      - 3
      - 4
    

内容的提问来源于stack exchange,提问作者itamar kanter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:15:31