如何迭代:
.card:hover .cover-image
我想将A:
A1: 1000
A2:
A2A:
A2A1: 100
A2A2: 250
A2A3: 250
A2B:
A2B1: 100
A2B2: 300
A3:
A3A:
A3A1:
A3A1A: 200
A3A1B: 100
# There could be more values
和A3A1A
的值以及其他值添加到同一位置
我尝试了以下操作:
A3A1B
但这不起作用
答案 0 :(得分:2)
这里有几个问题:
A3
与A2
(或A2B
)不对齐。我假设
您希望它与A2
A
而不是A1
,因此您应该以
foobar['A']
遍历数据结构。[*]
使用.items()
来获取键值对,或者.values()
来获取键值对。
仅获取嵌套映射/字典的值for
语句缩进不正确load()
,该文件据证明可能不安全,因此
不需要使用它。使用safe_load()
,或升级到ruamel.yaml
您的YAML 1.2等等(免责声明:我是ruamel.yaml的作者)例如您可以这样做:
import sys
import ruamel.yaml
yaml = ruamel.yaml.YAML(typ='safe')
with open('foobar.yaml') as fp:
data = yaml.load(fp)
end_value = 0
for one_value in data['A']['A3']['A3A']['A3A1'].values():
end_value += one_value
print(end_value)
给出:
300