![](/img/trans.png)
[英]How to check if a key exists in an inner dictionary inside a dictionary in python?
[英]How to get inner key in Python dictionary
由於 get 之類的功能,我是否能夠按鍵獲取內部值? 簡單的字典:
dict1 = {
'key1': 'asdfasdf'
}
如果我想通過key1
獲取值我只寫dict1.get('key1')
但是如果我有這樣的字典怎么辦:
dict2 = {
'some_key': {
'key1': 'asdfasdf'
}
}
我怎樣才能像 dict2.get('key1') 這樣通過key1
獲取值?
如您所知,我只需要這兩種類型的詞典,所以我不需要dict2['some_key']['key1']
那是一個嵌套的字典
如果你想避免使用頂級字典的鍵來訪問內部項目,你可以使用迭代理解
例如
[x.get('key1') for x, x in dict2.items()]
或僅使用值
[x.get('key1') for x in x.values()]
這將返回 asdfasdf 列表
如果您正在查找與嵌套字典中第一次出現的“key1”相關聯的值,則可以通過一點遞歸來實現。
def first(d, k):
if k in d: return d[k]
for v in d.values():
if isinstance(v, dict):
v2 = first(v, k)
if v2: return v2
考慮:
>>> first({'a':{'b':42, 'c':27, 'd':{'e': 3.14, 'key1':'hello world'}}}, 'key1')
'hello world'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.