如何在python中访问嵌套字典。我想访问' 类型'卡和卡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
答案 0 :(得分:5)
您可以使用:
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']
答案 1 :(得分:2)
当您迭代字典时,例如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)
答案 2 :(得分:-1)