给定两个字典对象,请编写一个函数,返回一个新的,由这两个字典中所有项组成的新字典。
示例:
输入:{1: ‘a’, 2: ‘b’},{2: ‘c’, 4: ‘d’}
输出:{1: ‘a’, 2: ‘c’, 4: ‘d’}
题目难度:简单
题目来源:programiz
def solution(d1: dict, d2: dict) -> dict:
# your code here
assert solution({1: 'a', 2: 'b'}, {2: 'c', 4: 'd'}) == {1: 'a', 2: 'c', 4: 'd'}
assert solution({'comments': 666}, {'name': 'hogwarts'}) =={'comments': 666, 'name': 'hogwarts'}
def solution(d1, d2):
d1.update(d2)
return d1
1 个赞
解法1:解包
def solution(d1:dict, d2: dict) -> dict:
return {**d1, **d2}
1 个赞
解法2:使用copy()和update()方法
def solution(d1:dict, d2: dict) -> dict:
result = d1.copy()
result.update(d2)
return result
追问下,这里为什么要进行浅拷贝呢,不是直接d1.update(d2)?
def solution(d1: dict, d2: dict) -> dict:
d1.update(d2)
return d1
def solution(d1: dict, d2: dict) -> dict:
d1.update(d2)
return d1
Amoyshmily:
给定两个字典对象,请编写一个函数,返回一个新的,由这两个字典中所有项组成的新字典。
示例:
输入:{1: ‘a’, 2: ‘b’},{2: ‘c’, 4: ‘d’}
输出:{1: ‘a’, 2: ‘c’, 4: ‘d’}
def solution(d1: dict, d2: dict) → dict:
# your code here
d1.update(d2)
# res = {**d1, **d2}
return d1
def solution(d1: dict, d2: dict) -> dict:
lis = []
for i in d1:
lis.append(i)
lis.append(d1[i])
lis_single = [lis[i] for i in range(len(lis)) if i%2 == 0]
for i in d2:
if i in lis_single:
index = lis.index(i)
lis.pop(index)
lis.pop(index)
lis.append(i)
lis.append(d2[i])
dict1 = {lis[k]:lis[k+1] for k in range(len(lis)) if k%2 == 0}
return dict1
def solution(d1:dict, d2: dict) -> dict:
return d1 | d2
python3.9
lekaixin
(ALe阿乐)
2024 年3 月 25 日 05:18
12
def solution(d1: dict, d2: dict) -> dict:
for item in d2.items():
d1[item[0]] = item[1]
return d1
assert solution({1: 'a', 2: 'b'}, {2: 'c', 4: 'd'}) == {1: 'a', 2: 'c', 4: 'd'}
assert solution({'comments': 666}, {'name': 'hogwarts'}) == {'comments': 666, 'name': 'hogwarts'}