Как получить доступ к вложенному словарю в Python - PullRequest
0 голосов
/ 24 мая 2018

Как получить доступ к вложенному словарю в python.Я хочу получить доступ к ' type ' как карты, так и карты1.

data = {
'1': {
'type': 'card',
'card[number]': 12345,
},
'2': {
'type': 'wechat',
'name': 'paras'
}}

Я хочу только печатать из обоих словарей.как я могу получить.Я использую следующий код, но получаю ошибку:

>>> for item in data:
...     for i in item['type']: 
...             print(i)
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: string indices must be integers

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Когда вы перебираете словарь, например, for item in data, вы перебираете ключи.Вы должны использовать представление, которое содержит требуемую информацию, например, dict.values или dict.items.

Для доступа к ключу и связанному типу с помощью итерации:

for k, v in data.items():
    print(k, v['item'])

Или, чтобысоздать список, использовать понимание списка:

lst = [v['item'] for v in data.values()]
print(lst)
0 голосов
/ 24 мая 2018

Вы можете использовать:

In [120]: for item in data.values():
     ...:     print(item['type'])

card
wechat

Или список понимания:

In [122]: [item['type'] for item in data.values()]
Out[122]: ['card', 'wechat']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...