簡體   English   中英

從嵌套字典中提取值

[英]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'}]}}

fowlYear 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM