一、字典基础定义字典是Python中无序、可变的序列数据类型,核心组成单元为键值对,所有键值对统一存放于英文花括号 {} 中。核心规则:键(key)与值(value)通过英文半角冒号绑定,多个键值对之间用英文逗号分隔。基础语法示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}解析:A、C、E 为键(唯一、不可重复),B、D、F 为对应值(可重复、可修改)。二、字典元素访问两种常用访问方式,适配不同使用场景。(一)方括号[] 按键访问(基础用法)语法:字典名[键名],直接通过指定键获取对应的值。示例:dic = {'A': 'B', 'C': 'D', 'E': 'F'}print(dic['A'])
输出结果:B
注意:若访问不存在的键,会直接报错。(二)get() 方法访问(容错用法)语法:字典名.get(键名, 自定义提示参数),自带容错机制,避免程序报错。
- 省略第二个参数:默认返回特殊值 None。示例:dic = {'A': 'B', 'C': 'D', 'E': 'F'}print(dic.get('X', 'No point value assigned'))
键X不存在,输出:No point value assigned
print(dic.get('Y'))
无自定义参数,输出:None
三、字典键值对的增加与修改通过赋值语句实现新增、修改操作,语法统一:字典名[键名] = 值,根据键是否存在区分功能。
- 新增键值对:赋值的键在字典中不存在,自动添加新键值对;
- 修改/替换键值对:赋值的键已存在,覆盖该键原本对应的值(键唯一,值可更新)。示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}
新增键值对
dictionary['M'] = 'N'
替换已有键的值
dictionary['C'] = 'Dc'
print(dictionary)
输出:{'A': 'B', 'C': 'Dc', 'E': 'F', 'M': 'N'}
四、字典键值对删除使用 del 语句删除指定键值对,语法:del 字典名[键名],必须指定字典名和目标键。示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}del dictionary['A']print(dictionary)
输出:{'C': 'D', 'E': 'F'}
五、字典遍历(for循环)字典提供三种专属遍历方法,分别适配遍历键值对、仅遍历键、仅遍历值的场景,所有方法均返回视图对象。(一)遍历全部键值对:items() 方法需定义两个变量,分别接收键、值。示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}for letter_K, letter_V in dictionary.items(): print(f"\nKey: {letter_K}") print(f"Value: {letter_V}")输出结果:Key: AValue: B
Key: CValue: D
Key: EValue: F(二)遍历所有键:keys() 方法语法:字典名.keys(),仅获取字典中所有的键。Python简洁规则:遍历字典时,若不写 .keys(),默认直接遍历所有键。基础遍历示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}
标准写法
for letter_K in dictionary.keys(): print(letter_K)
简化写法(效果一致)
for letter_K in dictionary: print(letter_K)keys()方法还有一个用途,于if语句一起使用判断某个键是否存在,示例:if 'M' not in dictionary.keys(): print('There is not key M')
输出:There is not key M
(三)遍历所有值:values() 方法语法、逻辑与 keys() 完全一致,仅作用为获取字典中所有的值。示例:dictionary = {'A': 'B', 'C': 'D', 'E': 'F'}for letter_V in dictionary.values(): print(letter_V)
这里接触到一个名词“视图对象”,items()、keys()、values() 返回字典视图对象,如果有读者能白话讲解是个啥,请留言
我哦使用print()语句输出如下: dic = {'A': 'B', 'C': 'D', 'E': 'F'} print(dic.items())
输出:dict_items([('A', 'B'), ('C', 'D'), ('E', 'F')])
print(dic.keys())
输出:dict_keys(['A', 'C', 'E'])
print(dic.values())
输出:dict_values(['B', 'D', 'F'])
六、字典嵌套字典支持嵌套各类数据类型(列表、字典等),核心作用:拓展数据维度,摆脱单一键值对的单层数据记录局限,实现复杂、多维的数据存储,类比一维、二维空间的维度升级。常用场景:字典嵌套列表(最常用),适配一个键对应多个值的场景。示例(定义一个披萨字典):
pizza = { 'crust': 'thick', 'toppings': ['mushrooms', 'extra cheese'],}
上面属于在字典中嵌套列表,如此就能更丰富而不是单一的表达或者记录“配料(toppings)”。
字典也可嵌套字典,实现更高维度的分层数据存储。