Итерация через диктант внутри диктанта - PullRequest
0 голосов
/ 11 мая 2018

как извлечь значение из dict в пределах dict в массиве.

dict1 = {
'a': 1,
'b': 2,
'c': [{'aa': 11, 'bb': 22},{'aa': 111, 'bb': 222},{'aa': 1111, 'bb': 2222}]
}
newvalue = []
for k, v in dict1['c'].iteritems():
    newvalue.append(v[0])
    # I want to loop only 1 first time value
    for val in newvalue:
        print val

Найти первое значение из dict и loop по желаемому результату: сначала построены значения dict1, второй цикл - третий элемент "cи напечатайте.

Ошибка: list' object has no attribute 'iteritems'

Ответы [ 2 ]

0 голосов

Вы получаете эту ошибку, потому что dict1['c'] - это список.

Обратите внимание на квадратные скобки, в которые заключен диктат:

'c': [{'aa': 11, 'bb': 22},{'aa': 111, 'bb': 222},{'aa': 1111, 'bb': 2222}]

Если вы не можете изменить содержимое списка, просто вызовите 0-й элемент списка следующим образом:

for k, v in dict1['c'][0].iteritems():
    newvalue.append(v[0])
    # I want to loop only 1 first time value
    for val in newvalue:
        print val
0 голосов
/ 11 мая 2018
for inner_dict in dict1['c']: 
    for k, v in inner_dict:
        do_something()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...