ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 一、字典基础 **01 作用** > 思考:会员管理系统需要处理不同会员身份信息,如何区分不同会员,同一个会员如何明确 年纪、身高、体重…. 等数据 * 实际业务很复杂, 需要用到不同类型的数据 * 不同类型数据在保存时应当加以区分 * 字典不仅可以保存多个数据,同时还能给不同数据 ”起名字“ **02 定义** ``` 1. 基本结构:字典名 = {} 2. ⼤括号内结构为 键名:键值【俗称键值对】 3. 多个键值对之间使⽤逗号 隔开 # ⽰例: xiaoming = { "name": "xiaoming", "age": 28, "gender": "man" } ``` <br /> ## 二、字典常见操作 **01 增** * 功能:在字典中增加对应的键值对 * 语法: `字典名['键名'] = 新增键值` * 示例: ``` info = { "name": "syy", "age": 18, "gender": "man" } info["salary"] = 100000 print(info) # {'name': 'syy', 'age': 18, 'gender': 'man', 'salary': 100000} ``` **02 删** * 功能:删除指定字典或字典中的值 * 语法:`del 对应值 或 del()` * 示例: ``` info = { "name": "syy", "age": 18, "gender": "man" } # 删除值 del info["age"] # 删除字典(整个字典都会被删除) # del info print(info) ``` **03 清空** * 功能:清空整个字典 * 语法: `字典.clear()` * 示例: ``` info = { "name": "syy", "age": 18, "gender": "man" } info.clear() print(info) # {} ``` **04 修改** * 功能:修改字典中对应键的值 * 语法: `字典["键名"] = val` * 示例: ``` info = { "name": "syy", "age": 18, "gender": "man" } info["age"] = 28 print(info) ``` > 注: > 1. 如果被修改的键名存在,则直接用新值更新旧值 > 2. 如果被修改的键名不存在,则相当于新增 **05 键名查找** * 功能:通过键名来查找对应的值 * 语法: 字典名["键名"] * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望;有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } print(slogan["slogan3"]) ``` > 注意:此种方法查找时,如果键名不存在则会语法报错 **06 get查找** * 功能: 返回对应键名的值 * 语法: 字典名.get(key, 默认值) * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望;有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } print(slogan.get("abc")) ``` > 注: > 1. 返回对应键名的值 > 2. 如果键名不存在,不会语法报错,而是返回None <br /> ## 三、字典常用方法 **01 keys** * 功能:将字典所有的键名返回 ,存放于一个特殊列表内 * 语法: 字典.keys() * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望;有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } print(slogan.keys()) # dict_keys(['slogan1', 'slogan2', 'slogan3']) ``` **02 values** * 功能:将字典对应的值返回,存放于一个特殊列表内 * 语法: 字典.values() * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望;有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } print(slogan.values()) ``` **03 items** * 功能:将字典的每一个键值对都处理成元组,存放于一个列表中 * 语法: 字典.items() * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望;有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } print(slogan.items()) ``` <br /> ## 四、字典遍历操作 **01 遍历字典的Key** * 功能:循环拿到字典中的每个键名 * 语法:使用循环结构完成 * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望", "slogan4": "有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } for key in slogan.keys(): print(key) # slogan1 slogan2 slogan3 slogan4 ``` **02 遍历字典的Val** * 功能:循环拿到每个键对应的值 * 语法:使用循环结构 * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望", "slogan4": "有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } for key in slogan.values(): print(key) ``` **03 遍历字典的items** * 功能:将字典中的每一项键值对 ,都处理成元组进行获取 * 语法:使用循环结构 * 示例: ``` slogan = { "slogan1": "尘归于尘,⼟归于⼟,我,归于我们", "slogan2": "有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望", "slogan4": "有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置", "slogan3": "红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处" } for key in slogan.items(): print(key) # ('slogan1', '尘归于尘,⼟归于⼟,我,归于我们') # ('slogan2', '有时候我们要对⾃⼰残忍⼀点,不能纵容⾃⼰的伤⼼失望') # ('slogan4', '有时候我们要对⾃⼰深爱的⼈残忍⼀点,将对他们的爱的记忆搁置') # ('slogan3', '红尘⼗丈,茫茫的⼈海,竟还是⾃⼰的来处') ```