dcsxlh

导航

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5
统计
 
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中不存在

 

posted on   多测师_肖sir  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
 
点击右上角即可分享
微信分享提示