在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 急!編寫接口,在字典結(jié)構(gòu)中尋找特定元素Linux的后代個數(shù)?

急!編寫接口,在字典結(jié)構(gòu)中尋找特定元素Linux的后代個數(shù)?

問題

編寫接口,在字典結(jié)構(gòu)數(shù)據(jù)中尋找特定元素Linux的后代個數(shù)
【應(yīng)該要用上遞歸,已知結(jié)果應(yīng)為7】

unix_tree = {
            'Unix': {
                'PWB/Unix': {
                    'System III': {
                        'HP-UX': None
                    },
                    'System V': {
                        'UnixWare': None,
                        'Solaris': {
                            'OpenSolaris': None
                        }
                    }
                },
                'BSD': {
                    'Unix 9': None,
                    'FreeBSD': None,
                    'NetBSD': None,
                    'MacOS': None
                },
                'Xenix': {
                    'Sco Unix': {
                        'OpenServer': None
                    },
                    'AIX': None,
                },
            },
            'Linux': {
                'Debian': {
                    'Ubuntu': None,
                    'Linux Mint': None
                },
                'Redhat': {
                    'CentOS': None,
                    'Fedora': None
                },
                'Gentoo': None
            }
        }


def count_of_all_distributions_of_linux(unix_tree):
    pass

題目描述

題目來源及自己的思路

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

回答
編輯回答
孤島

用遞歸的方法,很短,你看看

def get_dictkeys(dic):
    key_sum = 0
    for key in dic.keys():
        key_sum = key_sum+1
        if isinstance(dic[key], dict):
            key_sum = key_sum+get_dictkeys(dic[key])
    return key_sum
print get_dictkeys(unix_tree["Linux"])
2017年8月17日 17:14