关于字典:如何在python中解包键、值对?

How to unpack key,value pairs in python?

本问题已经有最佳答案,请猛点这里访问。

我正在尝试探索Python中的算法图像标记器。

1
2
client.algo("deeplearning/IllustrationTagger/0.2.5")
client.algo("deeplearning/InceptionNet/1.0.3")

但这与这个问题不太相关,因为它一般适用于字典。

1
2
for dict in dictList:
    print(dict)

这就是输出:

//{'safe': 0.9950032234191896}

//{'questionable': 0.004409242421388626}

//{'explicit': 0.00011681715113809332}

我可以很好地拿到钥匙:

1
2
3
for dict in dictList:
    for key in dict:
        print(key)

//safe

//questionable

//explicit

但当我试图解包密钥和值时:

1
2
3
4
for dict in dictList:
    for key, value in dict:
        print(key)
        print(value)

我得到这个错误:

for key, value in dict:
ValueError: too many values to unpack (expected 2)

如何访问密钥和值?

编辑:我已经将obj和array重命名为dict和list,以避免与javascript符号混淆。


像这样-首先:

1
2
3
4
5
for obj in objArray:
    for key in obj:
        value = obj[key]
        print(key)
        print(value)

第二个(python 3):

1
2
3
4
for obj in objArray:
    for key, value in obj.items():
           print(key)
           print(value)

对于python 2,可以使用for key, value in d.iteritems()