【发布时间】:2019-08-05 16:18:06
【问题描述】:
通过解析类似于以下格式的 yaml 文档,我已经安全加载了 python 对象,
envdata = yaml.safe_load(数据)
id: XXX
name: XXX
tecVersion: 1
wrapper: #category
wrapper-box-1: #instance
host: XXX
port: 4567
tags:
- ABC
- VTR
powerWrapper: #category
pw-box-45: #instance
host: YYY
port: 7890
tags:
- ABC
每个类别都是顶级数组对象,实例是类别内的数组对象。
要求是,给定标签 ex:ABC,我想将每个类别中的所有匹配实例作为一个列表。如何迭代每个元素并比较标签并以最佳方式将所有匹配的实例添加到实例数组中?
【问题讨论】:
-
那是无效的 YAML,你从根级别的映射开始,然后切换到序列元素。更正您的 YAML 输入并为我们提供比加载 YAML 更多的(失败的)程序。
-
@Anthon 现在有效。实际上我已经提到了我的要求,我需要解决方案算法。我也更新了问题。
-
因为您没有包含失败的程序,也没有以明确的方式包含预期的输出,所以这仍然非常模糊。你想要匹配的 ABC 实例作为一个列表:所以你想要
["ABC", "ABC"]?
标签: python python-3.x dictionary iterator yaml