如何从python中的嵌套字典中获取值?

如何从python中的嵌套字典中获取值?,python,dictionary,nested,Python,Dictionary,Nested,我已经写了一个函数,它将返回几个字典。 例如: def func() return c # <---- nested dictionary if __name__ == "__main__": ans = func() print ans 如果我打印这个,结果是无。 如何获取\u id?您可以使用列表理解 In [19]: ans = {u'ok': 1.0, u'result': [{u'price': 129.7, u'_id':

我已经写了一个函数,它将返回几个字典。 例如:

def func()
    return c # <---- nested dictionary

if __name__ == "__main__":
    ans = func()
    print ans             
如果我打印这个,结果是无。
如何获取
\u id

您可以使用列表理解

In [19]: ans = {u'ok': 1.0, u'result': [{u'price': 129.7, u'_id': datetime.datetime(2015, 2, 23, 9, 32)}, {u'price': 129.78, u'_id': datetime.datetime(2015, 2, 23, 9, 33)}]}
In [24]: [i['_id'] for i in ans['result']]
Out[24]: [datetime.datetime(2015, 2, 23, 9, 32), datetime.datetime(2015, 2, 23, 9, 33)]
In [25]: [i.get('_id') for i in ans['result']]
Out[25]: [datetime.datetime(2015, 2, 23, 9, 32), datetime.datetime(2015, 2, 23, 9, 33)]

从您的跟踪来看,c似乎是一个包含各种其他字典的字典

print ans["result"][0]["_id"]
应返回所需的值。

func()
实际返回的是一个嵌套字典。仔细看看你的指纹告诉你什么。 因此,
ans=func()
是一个嵌套字典:

{u'ok': 1.0, u'result': [{u'price': 129.7, u'_id': datetime.datetime(2015, 2, 23, 9, 32)}, {u'price': 129.78, u'_id': datetime.datetime(2015, 2, 23, 9, 33)},

因此ans['result']本身就是另一个dict,或者显然是一个包含dict的列表。

ans.get('result')[0]。get('u id')?我可以得到结果,但只能得到第一个。。如何获得所有结果?
[i['u id']for i in ans['result']
0是第一个索引。对于剩下的,你可以使用for循环,我可以得到所有结果!!谢谢大家!!!!这将只返回第一个结果项的
\u id
——OP感兴趣的是获取所有
\u id
值。
print ans["result"][0]["_id"]
{u'ok': 1.0, u'result': [{u'price': 129.7, u'_id': datetime.datetime(2015, 2, 23, 9, 32)}, {u'price': 129.78, u'_id': datetime.datetime(2015, 2, 23, 9, 33)},