005-python-字典操作
1. 字典
dict 用{}来表示 键值对数据 {key:value} 唯一性
键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键
值 没有任何限制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | dic = { 'name' : 'alex' , 'age' : 9000 } #字符串 print (dic) dic = { 1 : 'a' , 2 : 'b' , 3 : 'c' } #数字 print (dic) dic = { True : '1' , False : '0' } #布尔值 print (dic) dic = {( 1 , 2 , 3 ): 'abc' } #元组 print (dic) dic = {[ 1 , 2 , 3 ]: 'abc' } print (dic) |
2. 增删改查
dic[key] = value
dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加
可以通过key查询,没有这个key返回None
====================================================================
pop(key) 有返回值 返回的是被删除value
del dic[key]
popitem() 随机删除
clear() 清空字典
======================================================================
dic[key] = value
dic.update(字典)
=======================================================================
get(key)
dic[key]
for 循环
setdefault(key)
=======================================================================
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 | # 增 dic[ '火女' ] = '人头狗' # 新增 print (dic) dic.setdefault( '火女' , '安妮' ) # 如果在字典中存在就不进行任何操作,不存在就进行添加 dic.setdefault( '火女' , '火男' ) # 删 ret = dic.pop( '易大师' ) #通过key删除 返回被删除的value print (ret) del dic[ '剑豪' ] dic.clear() # {} ret = dic.popitem() #随机删除 返回值 一个元组 (key,value) print (ret) print (dic) # 改: dic[ '剑豪' ] = '哈莎阁' # 强制修改 dic1 = { '火女' : '安妮' , '火男' : '布兰德' , '维恩' : '暗影猎手' , '剑豪' : '哈莎阁' } dic1.update(dic) print (dic1) # 查 for 循环 元组 键 值 键值对 for i in dic: print (i) #for 循环默认是获取字典中的键 print (dic[ '易大师父' ]) #查看1 没有这个键的时候查询会报错 print (dic.get( '易大师' , '你傻啊,没有!' )) #查看2 没有返回None 可以指定返回内容 print (dic.setdefault( '易大师范湖' )) #查看3 没有返回None |
3.字典的其他操作:
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
1 2 3 4 5 6 7 8 9 10 11 | # 解构(解包) a,b = '12' #将后边解构打开按位置赋值给变量 支持 字符串 列表 元组 print (a) print (b) dic = { '易大师' : '剑圣' , '剑豪' : '托儿所' , '草丛伦' : '大宝剑' } for a,b in dic.items(): print (a) print (b) dic1 = {} dics = dic1.fromkeys([ 1 , 2 , 3 ], 'abc' ) |
4. 字典的嵌套:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | dic = { 'name' : '汪峰' , 'age' : 43 , 'wife' :{ 'name' : '国际章' , 'age' : 39 , 'salary' : 100000 }, 'baby' :[ { 'name' : '熊大' , 'age' : 18 }, { 'name' : '熊二' , 'age' : 15 }, ] } dic[ 'baby' ][ 0 ][ 'age' ] = 19 print (dic) |
作者: do康解U
出处: https://www.cnblogs.com/David-domain/>
关于作者:专注数据库、Python 开发、ROS、深度学习,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(iamkuboy@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY