1 2 3 4 5 6 7 8 9 10 11 12 | # python中的字典:dict类型 # 键值对组成 # 键是唯一,值可以不唯一 # {} 英文的大括号 也叫花括号 # # 字典中键值是一个整体,如有多个键值对要用英文的,逗号隔开 # # 整数类型不需要加单双引号外,其它都需要加单双引号 # # 键和值用英文的:冒号 比如:name:zhangsan<br><br>(1)定义一个字典<br><br>d ={'name':'zhangsan','age':18} #定义一个字典<br><br>print(type(d)) #<class 'dict'>字典的类型<em><em>print(d) #打印结果为:{'name': 'zhangsan', 'age': 18}<br><br>(2)</em></em>列表转换成字典步骤 重点:(使用dict 就可以转换)<em>第一步:定义一个列表<br>l =[('name','zhangsan'),('age',18)]<br>第二步:使用dict 将列表转换成字典<br>di_ct=dict(l)#将列表转换成为字典<br>第三步:查看字典的类型<br>print(type(di_ct)) #<class 'dict'>字典类型<br>第四步:在打印字典<br>print(di_ct) #{'name': 'zhangsan', 'age': 18}<br>备注:字典转换是键与值一组,所以是2个值一组<br><br>(3)字典中添加键值对: 格式:变量名[键] =值<br>注意:字典中添加新的的键和值</em>d ={'name':'zhangsan','age':18}#定义一个字典<br>d['scroe']=100<br>print(d) #{'name': 'zhangsan', 'age': 18, 'scroe': 100}<br><br>(4)字典中有键,替换值(键不变,值变)c= {'name': 'zhangsan', 'age': '18'}<br>c['name'] = 200<br>print(c) # 打印结果:{'name': 200, 'age': '18'}小结:《1》、给字典中增加一个键值对:如原字典内没有相同的键值对则新增一个<br>《2》、如原有字典中有相同的键,则会将对于的键的值进行重新赋值''<em>3、通过keys取出对应的键<br></em>d ={'name':'lis','age':18} #定义一个字典 print (d.keys()) #(['name', 'age']) # 通过keys来取出对应的键 print ( type (d.keys())) #<class 'dict_keys'> <em> 4 、通过values 取出字典中对应的值<br>< / em>v = { 'name' : 'lis' , 'age' : 18 } #定义一个字典 print (v.values()) #['lis', 18] |
5、通过键来获取对应键的值
1 2 | k = { 'name' : 'lisi' , 'age' : 18 } #定义一个字典 print (k[ 'name' ]) #lisi |
6、6.1添加设置默认键值setdefault
mr ={'name':'lis','age':18} #定义一个字典6.1默认值不存在的情况下,直接添加键值mr.setdefault('scroe',100)
1 2 3 4 5 6 | <em id = "__mceDel" ><em id = "__mceDel" > print (mr) #{'name': 'lis', 'age': 18, 'scroe': 100}<br><br>6.2 已有键值,在使用默认键值不会进行修改,或者增加 mr.setdefault( 'name' , 'zhangsan' ) print (mr) #{'name': 'lis', 'age': 18, 'scroe': 100}<br>备注:已经存在的值的优先级>默认值<br>6.3 直接修改 值,显示最新修改值 (修改默认值优先级小于直接添加的字典值)<br> mr[ 'name' ] = 'wangwu' print (mr) #{'name': 'wangwu', 'age': 18, 'scroe': 100}<br><br><br> < / em>< / em> |
7、删除键:(删除键,值也没有了)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | dellkey = { 'name' : 'zhangsan' , 'age' : 18 } del dellkey[ 'name' ] print (dellkey)<br>注意点:键和值都要用引号,除数值外<br><br>d = { 'name' : 'zhangsan' , 'age' : 18 } for k in d: print (k) #拿到的是:键 值不拿 s = { 'name' : 'zhangsan' , 'age' : 18 } for k in s: print (k,s[k]) t = { 'name' : 'zhangsan' , 'age' : 18 } for k,v in t.items(): print (k,v) d2 = { 'name' : 'zhangsan' , 'age' : 18 } print (d2.pop( 'name' )) #zhangsan d = { 'name' : 'zhangsan' , 'age' : 18 ,'': 100 } print (d.popitem()) #('', 100)<br>备注:打印结果:字典中最后一个键值d3 ={'name':'zhangsan','age':18} d3.clear() #通过clear()来清空当前字典中的键值对 print (d3) # 打印结果:{}清空后返回就是一个空字典<br> d = { 'name' : 'zhangsan' , 'age' : 18 ,'': 100 } print (d) #{'name': 'zhangsan', 'age': 18, '': 100} print (d.get( 'name' )) #zhangsan #通过键获取值 print (d.get('')) #100 print (d.get( 'age' )) #18 print (d.get( 'score' )) #None #通过不存在的键,返回的是none print (d.get( 100 )) #None #通过值去获取,返回时的none print ({}.fromkeys([ 'name' , 'age' ], 'a' )) #{'name': 'a', 'age': 'a'}d={'name':'zhang','age':18} print (d.fromkeys([ 'name' , 'age' ], 'c' )) #{'name': 'c', 'age': 'c'} d1 = { 'name' : 'zhangsan' , 'age' : 18 } #定义一个字典 d2 = { 'scroe' : 100 } #定义一个字典 d1.update(d2) #通过update方法将d1字典和d2字典进行合并 print (d1) #{'name': 'zhangsan', 'age': 18, 'scroe': 100}<br>备注:合并字典以后,在d1表中s={"name":"zhangsan","age":15} c = s.copy() print (c) print (s) #场景一: d = { "name" : "lixi" , "age" : 18 } del d #场景二:删除键 d = { "name" : "lixi" , "age" : 18 } print (d) # del (d["name"]) # print(d) |

8、使用for 循环获取key
9、使用for循环获取key,values
10、# 通过items()方法来获取对应键值对
11、'通过pop函数删除指定的键,打印返回对应键的值'''
方法一:pop删除指定的键,返回对应的值
方法二:popitem在字典删除键值对,一般默认在末尾

12、clear 来清空当前字典中的键值对,返回一个空字典
13、get ,get通过键获取对应的值
14、快速生成一个新字典的方法fromkeys
方法一:
第一种情况:生成一个新的字典的键
print ({ }.fromkeys(['name','age'])) #{'name': None, 'age': None}
第二种情况:生成一个字典的键和值
方法三:快速生成字典,并赋同样的值
15、update 方法 将多个字典合并
16、copy 复制字典
17、del删除字典
备注:has_key 在python2中有,在python3中不存在
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架