一個函數, 在python中方便處理嵌套的字典


適用場景

# 假設我們有: 
Val = {'a': {'b': {'c': 1}}}

最佳方案:

Val.get('a', {}).get('b', {}).get('c', None)

顯然我在開玩笑

試試 dget

def dget(dictionary, cmd, default=None):
    cmd_list = cmd.split('.')
    tmp = dict(dictionary)
    for c in cmd_list:
        try:
            val = tmp.get(c, None)
        except AttributeError:
            return default
        if val!= None:
            tmp = val
        else:
            return default
    return tmp


if __name__ == "__main__":
    data = {'a':{'b':{'c':1}}}
    dget(data, 'a.b.c') # 1
    dget(data, 'a.d.e') # None
    dget(data, 'a.b') # {'c': 1}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM