当前位置: 首页 > 面试题库 >

在ansible中合并字典

邢博文
2023-03-14
问题内容

我目前正在使用ansible来安装PHP,并且在合并字典时遇到了一些困难。我尝试了几种方法来做到这一点,但是我无法像我想要的那样使它工作:

# A vars file:
my_default_values:
  key = value

my_values:
  my_key = my_value


# In a playbook, I create a task to attempt merging the
# two dictionaries (which doesn't work):

- debug: msg="{{ item.key }} = {{ item.value }}"
  with_dict: my_default_values + my_values

# I have also tried:

- debug: msg="{{ item.key }} = {{ item.value }}"
  with_dict: my_default_values|union(my_values)

# I have /some/ success with using j2's update,
# but you can't use j2 syntax in "with_dict", it appears.
# This works:

- debug: msg="{{ my_default_values.update(my_values) }}"

# But this doesn't:

- debug: msg="{{ item.key }} = {{ item.value }}"
  with_dict: my_default_values.update(my_values)

有没有办法合并两个字典,所以我可以将其与“ with_dict”一起使用?


问题答案:

在Ansible
2.0中,为此有一个Jinja过滤器combine

- debug: msg="{{ item.key }} = {{ item.value }}"
  with_dict: "{{ my_default_values | combine(my_values) }}"


 类似资料:
  • 问题内容: 假设我有一个数据帧字典: 我想将它们全部合并成这样: 我可以手动执行以下操作: 但是,有没有一种方法可以自动浏览字典并合并呢?任何帮助表示赞赏。 问题答案: 您可以直接传递dict并将属性访问到: 假设您只是想连接所有df,如果要合并,则需要解释什么是合并标准

  • 问题内容: 我正在尝试合并三个具有相同键,值列表或单个值的字典。 我需要将值中的所有项目添加到一个列表中。 我尝试了几种方法,但是大多数方法将值放入嵌套列表中。例如 我尝试通过遍历值来更新它: 但结果完全一样。我试图简单地添加列表,但是由于第三个字典只有一个浮点数,所以我做不到。 因此,我尝试首先以1和2的值添加列表,然后附加3的值。添加列表效果很好,但是当我尝试从第三个字典中添加浮点数时,突然整

  • 本文向大家介绍Python合并字典,包括了Python合并字典的使用技巧和注意事项,需要的朋友参考一下 示例 考虑以下字典: Python 3.5+ 如本示例所示,重复的键映射到它们的最后一个值(例如,“ Clifford”覆盖“ Nemo”)。 Python 3.3以上 使用此技术,给定键的最前值优先,而不是最后一个(“ Clifford”被抛弃,取而代之的是“ Nemo”)。 Python 2

  • 问题内容: 我了解这将合并词典。但是,它独特吗?如果d1与d2具有相同的密钥但值不同怎么办?我希望将d1和d2合并,但是如果有重复的键,则d1具有优先权。 问题答案: 如果您不再需要原始方法,则可以使用该方法: 使用其他键/值对更新字典, 覆盖现有键 。返回。 例如: 更新: 当然,您可以先复制该词典以创建一个新的合并词典。这可能是必需的,也可能不是。如果您的词典中有复合对象(包含其他对象的对象,

  • 问题内容: Python是否有所有字符串的池,并且在那里它们(字符串)单例? 更准确地说,在下面的代码中,是在内存中创建一个还是两个字符串? 问题答案: 字符串在Python中是不可变的,因此实现可以决定是否进行内部(这通常与C#相关联,这意味着某些字符串存储在池中)这个字符串。 在您的示例中,您正在动态创建字符串。CPython并不 总是 查看池以检测字符串是否已经存在- 这也没有意义,因为您首

  • 问题内容: 我有一个带有4列的(example-)数据框: 我现在想将B,C和D列合并/合并到新的E列,如本例所示: 我在这里发现了一个非常类似的问题,但这在A列的末尾添加了合并的列B,C和D: 感谢帮助。 问题答案: 选项1 使用和 选项2 使用分配和 选项3 最近,我喜欢第3个选项。 使用