如何在python中访问嵌套字典

eqzww0vc  于 2023-01-06  发布在  Python
关注(0)|答案(3)|浏览(173)

如何在python中访问嵌套字典。我想访问card和card1的“type”。

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
oknwwptz

oknwwptz1#

您可以使用:

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']
nnsrf1az

nnsrf1az2#

当你迭代一个字典时,比如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)
j2datikz

j2datikz3#

从一个嵌套的python字典中,如果我想访问let,比如article_url,所以我必须这样编程

[item['article_url'] for item in obj.values()]

相关问题