python--面试题01
|--题目
写一个函数,将两个dict(key是数字,value是string)进行合并,函数返回合并后的dict。
规则如下:如果一个key仅仅存在于其中一个dict中,则直接加入合并后的dict;
如果一个key在两个dict中都存在,那么给定一个choice值,choice可以是任何string,
如果choice是任一个dict中的value,则写入,否则不写入。
1 #!/usr/bin/python3
2
3 def function(lefdict,rightdict,choice):
4 samelist = lefdict.keys() & rightdict.keys() #dict.keys()返回的是一个可迭代对象,取两个dict的keys的交集
5 diflist = lefdict.keys() ^ rightdict.keys() #取两个dict的keys的不同集
6 newdict = {}
7 for key, value in lefdict.items():
8 if key in diflist:
9 newdict[key] = value
10 elif key in samelist:
11 if value == choice:
12 newdict[key] = value
13 for key, value in rightdict.items():
14 if key in diflist:
15 newdict[key] = value
16 elif key in samelist:
17 if value == choice:
18 newdict[key] = value
19 print(samelist, diflist)
20 print(newdict)
21 return newdict
22
23 function({1: 'a', 2: 'b', 3: 'c'}, {4: 'f', 2: 'b', 3: 'd'}, 'b')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!