如何在Python中解包键值对?

15

我正在尝试使用Python探索Algorithmia图像标记器。

client.algo("deeplearning/IllustrationTagger/0.2.5")
client.algo("deeplearning/InceptionNet/1.0.3")
但这与这个问题不太相关,因为它适用于一般的词典。
for dict in dictList:
    print(dict)

以下是输出结果:

//{'safe': 0.9950032234191896}

//{'questionable': 0.004409242421388626}

//{'explicit': 0.00011681715113809332}

我可以轻松访问这个键:

for dict in dictList:
    for key in dict:
        print(key)

//安全

//存在风险

//不适宜内容

但是当我尝试解包键和值时:

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)

我该如何同时访问key和value?

编辑:我已将obj和array重命名为dict和list,以避免与Javascript表示法混淆。


2
for key, value in obj.items(): - user2390182
1
使用 for key, value in your_dict.items(): - eyllanesc
1
我感觉很愚蠢,因为我记得我学过那个。谢谢。 - Feraru Silviu Marian
1个回答

17

像这样 - 首先:

for obj in objArray:
    for key in obj:
        value = obj[key]
        print(key)
        print(value)

第二种方法(Python 3):

for obj in objArray:
    for key, value in obj.items():
           print(key)
           print(value)

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


1
这个问题已经被回答了很多次,而且你的答案总是一样的,所以没有带来任何新东西:https://dev59.com/s18d5IYBdhLWcg3wkS_Y - eyllanesc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接