在python中遍历dict元素

2024-10-01 07:37:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段json,它是用json函数转换成dict的。 由此:

{
    "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下可能有任意数量的imageTags。你知道吗

我要做的是循环遍历“imageTag”元素来读取标签号并执行一个操作。如果我想循环使用键,它看起来很简单,比如:

for key in data:
    print key, 'corresponds to', data[key]

然而,我不确定我如何循环通过项下的关键。 我想实现的是打印出:

1.2
1.0

Tags: key函数jsondata数量dictprintsha256
1条回答
网友
1楼 · 发布于 2024-10-01 07:37:11

对内部dict进行迭代,方法与对外部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']

相关问题 更多 >