Как распаковать пары ключ, значение в Python?

Я пытаюсь изучить тегеры изображений Algorithmia в Python.

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

Но это не совсем актуально для данного вопроса, поскольку касается словарей в целом.

for dict in dictList:
    print(dict)

И вот результат:

// {'safe': 0.9950032234191896}

// {'сомнительно': 0.004409242421388626}

// {'явный': 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)

Я получаю такую ​​ошибку:

для ключа значение в dict:
ValueError: слишком много значений для распаковки (ожидается 2)

Как я могу получить доступ и к ключу, и к значению?

РЕДАКТИРОВАТЬ: я переименовал obj и array в dict и list, чтобы не путать с нотацией Javascript.


person Feraru Silviu Marian    schedule 18.12.2017    source источник
comment
Используйте 1_   -  person eyllanesc    schedule 18.12.2017
comment
Я чувствую себя такой глупой, потому что помню, что научился этому. Спасибо.   -  person Feraru Silviu Marian    schedule 18.12.2017


Ответы (1)


Вот так - сначала:

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()

person mikeb    schedule 18.12.2017
comment
На этот вопрос уже много раз ответили, и ваш ответ такой же, как и всегда, поэтому он не приносит ничего нового: stackoverflow.com/questions/26660654/ - person eyllanesc; 18.12.2017