我讀來自外部源的字典,讓我們說Python從字典中取值的最佳方式是什麼?
data = {'name': 'James', 'gender': 'male'}
有時
data = {'name': 'James', 'gender': 'male', 'article': {'title':'abc'}}
有時
data = {'name': 'James', 'gender': 'male', 'article': None}
我知道,我可以使用.get(key, default)
的時候我不知道如果數據中存在articles
:
articles = data.get('article', {}).get('title')
但有時候,他們所提供的元素與None
值,因此上述不工作而造成的錯誤,並且需要成爲:
articles = data.get('article') or {}
但是這需要我把它分解成2條語句代替如前所述鏈接從文章中獲取價值。
有沒有更優雅的方式來做到這一點,是這樣的:
data.get('article', {}, ignore=[None])
或
data.get_ignore_none('article', {})
您可能想要顯示數據在**有**條目時會顯示的方式,並說它可能不存在而不是相反。正如你所寫的你的例子'數據'和你正在做的事似乎完全不相關。 –
因此,最終,你希望'data [「article」] [「title」]'作爲字符串值,或None,沒有錯誤? – Keith
哪個Python版本? – jpmc26