python基础-字典
1、字典定义
-
字典是一种可变的容器,可以存储任意类型的数据
- 字典中的每个数据都是用"键" (key) 进行索引,而不像序列可以用下标进行索引【集合可以用下标进行搜索】
-
字典中的数据没有先后关系,字典的存储是无序的【集合set存储也是无序的】
-
字典的表示方式是以{} 括起来,以冒号(:)分割的键值对,各键值对之间用逗号分隔开
-
字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的
#创建空字典 d = {} # 空字典 d = dict() # 空字典
#非创建空字典
dic1 = {'name': 'cgk', 'age': 20, 'sex': 'male'}
dic2 = dict((('name', 'cgk'),))
2、字典的方法
- 增删改查
-
#增
dic = {"name":"张三","年龄":"30","性别":"男"} print(dic#修改 dic["jay"] = "周杰伦" dic["jay"] = "周杰伦1" #覆盖前面的key的value值 print(dic)
#删除 dic = dict() dic.setdefault("tom","213") #如果前面tom有默认值,则setdefault就不起作用了 print(dic) dic.pop("tom") print(dic)
#查询 查之前请确保key值中有,否则报错 print(dic["jay"]) #如果key不存在,程序会报错,当key确定的时候考虑使用 print(dic.get("jay")) #如果key不存在,程序返回none
3、字典的应用
- 实例1
dic = { "赵四": "会跳舞", "刘能": "会唱歌", "大脚": "搞对象", "大脑袋": "瞎折腾。。。。", } name = input("请输入你想知道人的名字:") val = dic.get(name) if val is None: print("您输入的名字不存在,请重新输入") else: print(val) 请输入你想知道人的名字:赵四 会跳舞
字典的循环和嵌套
dic = { "赵四": "会跳舞", "刘能": "会唱歌", "大脚": "搞对象", "大脑袋": "瞎折腾。。。。", } # 1、可以用for循环,直接拿到key for key in dic : print(key,dic[key]) 输出结果 赵四 会跳舞 刘能 会唱歌 大脚 搞对象 大脑袋 瞎折腾。。。。
- 获取字典的key和value的常用方式
-
#2、把所有的key全部保存到一个列表中 print(list(dic.keys())) #拿到所有的key ['赵四', '刘能', '大脚', '大脑袋'] #3、把所有的value都放到一个列表中 print(list(dic.values())) #拿到所有的value ['会跳舞', '会唱歌', '搞对象', '瞎折腾。。。。'] # 4、直接拿到所有的key和value for item in dic.items(): key = item[0] value = item[1] print(key,value)
删除字典中的元素
-
dic = { "赵四": "会跳舞", "刘能": "会唱歌", "大脚": "搞对象", "大脑袋": "瞎折腾。。。。", } temp = [] for key in dic: if key.startswith("大"): temp.append(key) #把要删除的key的值,存放到一个零时的列表中 # dic.pop(key) #RuntimeError: dictionary changed size during iteration 不能直接删除字典里的值,否则报错 for t in temp: dic.pop(t) print("删除的人物是:",dic)
多层字典嵌套
-
s= { 'resultCode': '1', 'resultMsg': 'success', 'reqId': '1e4b9495-ba19-4005-9d9f-42107cb33ffb', 'systemTime': '1653559664014', 'videoInfo': {'playSta': '1', 'video_image': 'https://image2.pearvideo.com/cont/20220524/cont-1763204-12680765.png', 'videos': {'hdUrl': '', 'hdflvUrl': '', 'sdUrl': '', 'sdflvUrl': '', 'srcUrl': 'https://video.pearvideo.com/mp4/adshort/20220524/1653559664014-15884803_adpkg-ad_hd.mp4' } } } print(type(s)) #<class 'dict'>字典 print(s["resultMsg"]) #success print(s["videoInfo"]["video_image"]) #https://image2.pearvideo.com/cont/20220524/cont-1763204-12680765.png print(s["videoInfo"]["videos"]["srcUrl"]) #https://video.pearvideo.com/mp4/adshort/20220524/1653559664014-15884803_adpkg-ad_hd.mp4
4、总结
- 字典是以键值对的方式进行存储的
- 字典的表示方式 {key1:value1, key1:value1,key1:value1}
分类:
python / 基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~