Python——字典
- 其他
- 2025-08-21 04:06:02

列表与元组都是通过索引下标来获取元素值,而字典则是通过键来获取元素值。字典是一种存储键值对的一个字典中的key的类型不一定都一样;一个字典中的value的类型也不必都一样;字典对于key的类型有约束,对于value没约束; 1.创建字典 a = {} b = dict() # 创建同时设置初始值 c = {'id':1,'name':'zhang'} # 书写可以使用多行方式,好看,最后一个键值对的,可写可不写 d = { 'id':1, 'name':'zhang' } 2.查找字典 使用in/not in查找key是否在字典中(in只是判定key是否存在,与value无关) a = { 'id':1, 'name':'sxl' } print('id' in a) # True print('n' in a) # False print('sxl' in a) # False print('sxl' not in a) # True 使用[ ]根据key获取value a = { 'id':1, 'name':'sxl', 100:'成绩' } print(a['id']) # 1
注意:对于字典来说,使用in或者[ ]来获取value是比较高效(字典使用了哈希);对于列表来说,使用in比较低效(把整个列表遍历一遍),[ ]较高效
get取值 get可以取字典里不存在的键,默认返回None值,并且可以提前设置一个默认值 a = { 'id':1, 'name':'sxl', 100:'成绩' } print(a.get('id')) # 1 print(a.get(1)) # None print(a.get(2,100)) # 100 3.新增/修改元素 key存在,则根据key修改valuekey不存在,则相当于新增键值对 a = { 'id':1, 'name':'sxl', 100:'成绩' } # 插入新的键值对 a['score'] = 90 print(a) # 修改value a['score'] = 99 print(a) 更新字典 d = { 'k1': 11, 2: 22, True: 33, None: 44, 3.14: 55 } d.update({'k1': 1111, 'k3': 33}) print('更新集合后的字典 => ', d) # {'k1': 1111, 2: 22, True: 33, None: 44, 3.14: 55, 'k2': 222, 'k3': 33} t1 = d.pop(2) print('弹出键为2的元素后的字典 => ', d) # {'k1': 1111, True: 33, None: 44, 3.14: 55, 'k2': 222, 'k3': 33} t2 = d.popitem() print('弹出一个键值对后的字典 => ', d) # {'k1': 1111, True: 33, None: 44, 3.14: 55, 'k2': 222} print('弹出的键值对 => ', t2) # ('k3', 33) d.clear() print('清空字典内容 => ', d) # {} 4.删除字典 pop删除 a = { 'id':1, 'name':'sxl', 100:'成绩' } # 删除字典 a.pop('name') # {'id':1,100:'成绩'} print(a) popitem从末尾开始删除一个字典 a = { 'id':1, 'name':'sxl', 100:'成绩' } # 删除字典 a1 = a.popitem() print(a) # {'id':1,'name':'sxl'} print(a1) # (100,'成绩') 以元组形式 del删除 a = { 'id':1, 'name':'sxl', 100:'成绩' } # 删除字典 del a[100] print(a) # {'id':1,'name':'sxl'} 5.字典的遍历 使用for循环 a = { 'id':1, 'name':'sxl', 100:'成绩' } for key in a: print(key,a[key]) keys获取key 注意:keys获取到字典中所有的key;values获取到字典中所有的value;items获取到字典中所有键值对 a = { 'id':1, 'name':'sxl', 100:'成绩' } print(a.keys()) # dict_keys(['id','name',100]) 自定义的类型,可当作列表使用 print(a.values()) # dict_values([1,'sxl','成绩']) print(a.items()) # dict_items([('id',1),('name','sxl'),(100,'成绩')]) 列表一样的结果,每个元素又是一个元组,元组里面包含键和值 for key,value in a.items(): print(key,value) # id 1 # name sxl # 100 成绩 6.合法key类型python提供一个hash函数打印hash值
print(hash(0)) # 整型 print(hash(3.14)) # 浮点 print(hash('sxl')) # 字符串 print(hash(True)) # 布尔 print(hash((1,2,3))) # 计算元组不能hash的类型:列表、字典 结论:不可变的对象一般可哈希,可变的对象一般不可哈希
Python——字典由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Python——字典”
上一篇
Typora入门教程
下一篇
Linux--进程控制