3. 字典如何删除两个键和合并字典

每天至少打卡一道python面试题。以尽量多的方式解锁题目,如果有遗漏的方法,欢迎在评论区补充。希望大家一起提高!



def func_1(d, key):
    dc = d.copy()
    dc.pop(key)
    print(dc)


def func_2(d, key):
    dc = d.copy()
    del dc[key]
    print(dc)


def merge_01(d1: dict, d2: dict):
    dc = d1.copy()
    dc.update(d2)
    print(dc)


def merge_02(d1: dict, d2: dict):
    dc = d1.copy()
    for k, v in d2.items():
        dc[k] = v
    print(dc)


def merge_03(d1: dict, d2: dict):
    # 用**dict 的方式打开一个字典类型的数据
    print(dict(d1, **d2))


def merge_04(d1: dict, d2: dict):
    # 利用 items方法将 dict 转成 dict_items,再对这两个 dict_items 取并集,最后利用 dict 函数,转成字典
    print(dict(d1.items() | d2.items()))


def merge_05(d1: dict, d2: dict):
    # 使用列表解析式
    dc = {k: v for d in [d1, d2] for k, v in d.items()}
    print(dc)


if __name__ == '__main__':
    d = {
        "name": "zhang shan",
        "sex": "man",
        "age": "20"
    }
    func_1(d, 'age')
    func_2(d, 'age')

    d2 = {
        "job": "it",
        "age": "22"
    }
    merge_01(d, d2)
    merge_02(d, d2)
    merge_03(d, d2)
    merge_04(d, d2)
    merge_05(d, d2)

你可能感兴趣的:(3. 字典如何删除两个键和合并字典)