首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 字典相关的笔试题(一)

Python 字典相关的笔试题(一)

作者头像
用户4945346
发布2021-08-18 10:51:55
3510
发布2021-08-18 10:51:55
举报
文章被收录于专栏:pythonista的日常pythonista的日常

最近在找新的工作,这两周一直在面试,面试中遇到了一些笔试题,以前遇到的更多是特别扯的笔试题,明显感觉工作中不会遇到,但是最近遇到的一些操作字典笔试题,觉得很有意思,生活中应该多少会用到,特此记录一下。

d1 = {
    "a": None,
    "b": 123,
    "c": 1234,
    "d": {
        "e": 123,
        "f": None,
        "h": {
            "test": 123,
            "null": None
        }
    }
}

有上面这样的字典,嵌套层级是不固定的,需要把值是 None 的 key:value 删掉,这种实际场景可能会经常遇到。解题思路大概是这样的,对当前字典进行遍历处理,判断字典的 value 类型,如果 value的值是字符串,则按照字典的 key 和 value 更新到新的字典中,如果value值的类型是字典,则进行递归处理,需要注意的地方是新字典 key 的值。

解题代码如下:

def del_key(d1: dict, new_dict=None) -> dict:
    if new_dict is None:
        new_dict = {}
    for key, value in d1.items():
        if isinstance(value, dict):
            new_dict[key] = {}
            del_key(value, new_dict[key])
        elif value:
            new_dict[key] = value
    return new_dict

这几天会连续更新下我遇到的 Python 笔试题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 pythonista的日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档