在python中循环使用dict元素
我有一段json,它使用json函数转换为dict。 由此:在python中循环使用dict元素,python,Python,我有一段json,它使用json函数转换为dict。 由此: { "imageIds": [ { "imageTag": "1.2", "imageDigest": "sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b" }, { "imageTag": "1.0",
{
"imageIds": [
{
"imageTag": "1.2",
"imageDigest": "sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b"
},
{
"imageTag": "1.0",
"imageDigest": "sha256:aa52a12bd6e516659452af5b9ed0fad8659f9e0cea6a986c6bfe02af388df189"
}
]
}
为此:
>>> print data
{u'imageIds': [{u'imageTag': u'1.2', u'imageDigest': u'sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b'}, {u'imageTag': u'1.0', u'imageDigest': u'sha256:aa52a12bd6e516659452af5b9ed0fad8659f9e0cea6a986c6bfe02af388df189'}]}
在本例中,键(ImageID)的数量是固定的,但ImageID下可能有任意数量的ImageTag
我试图做的是循环通过“imageTag”元素来读取标签号并执行操作。如果我想循环使用键,它似乎很简单,比如:
for key in data:
print key, 'corresponds to', data[key]
但是,我不确定如何循环键下的项。
我想要实现的是打印出:
1.2
1.0
以与外部相同的方式迭代内部
dict
:
for key, value in data.iteritems():
#now value can be a dictionary as well
#for innerkey, innervalues in value[0].iteritems():
# print innerkey, innervalues
#in order to only print the elements that have imageTag as the key, simply do:
print value[0]['imageTag']
data[key][0]
为您提供了一个内部字典,非常接近。我如何打印两个imageTag,以便输出为:1.2,1.0好吧,这只是要求字典元素,其键是“imageTag”。见编辑后的答案。这是非常基本的字典操作,我建议你花半个小时阅读它们的工作原理。是的,这是个不错的主意。谢谢你的帮助。