[英]Extracting value from nested dictionary
我的字典是這樣的:
query = {'fowl': [{'cateogry': 'Space'}, {'cateogry': 'Movie'}, {'cateogry': 'six'}], u'Year of the Monkey': {'score': 40, 'match': [{'category': u'Movie'}, {'category': 'heaven'}, {'category': 'released'}]}}
fowl
和Year of the Monkey
是這兩個實體。 我試圖沒有運氣分別提取兩個實體的所有category
值。
這些都不起作用:
query[0] # I was expecting values for fowl
query[0]['category'] # I was expecting all category for fowl but seems wrong
query[0]['category'][0] # category space for fowl
正確的方法是什么?
好吧,您的query
字典相當時髦,因為'fowl'
和'Year of the Monkey'
值結構不同,因此您無法使用相同的數據訪問模式,或者將類別拼寫為'cateogry'
。 如果可以的話,在嘗試進一步處理之前,最好將其修復。
至於提取'fowl'
數據:
>>> query = {'fowl': [{'cateogry': 'Space'}, {'cateogry': 'Movie'}, {'cateogry': 'six'}], u'Year of the Monkey': {'score': 40, 'match': [{'category': u'Movie'}, {'category': 'heaven'}, {'category': 'released'}]}}
>>> query['fowl'] # 'fowl'
[{'cateogry': 'Space'}, {'cateogry': 'Movie'}, {'cateogry': 'six'}]
>>> [d['cateogry'] for d in query['fowl']] # 'fowl' categories
['Space', 'Movie', 'six']
>>> [d['cateogry'] for d in query['fowl']][0] # 'fowl' 'Space' category
'Space'
query
是字典而不是列表,所以請使用query['fowl']
代替
query['Year of the Monkey']['match'][0]['category']
您需要迭代
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.