急!编写接口,在字典结构中寻找特定元素Linux的后代个数?

问题

编写接口,在字典结构数据中寻找特定元素Linux的后代个数
【应该要用上递归,已知结果应为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

题目描述

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

慕运维8079593
浏览 563回答 1
1回答

江户川乱折腾

用递归的方法,很短,你看看 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"])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python