每天至少打卡一道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)