在 Python 里,dict 基本是绕不开的数据类型。它干的事很朴素:用一个 key 去找对应的 value。日常写接口、处理 JSON、读配置、做缓存,最后多半都会落到字典上。
如果只记一句话,可以记成:dict 就是高效的键值映射。
dict 是什么
dict 是可变的键值对容器。Python 3.7 之后,它会保留插入顺序,但这不改变它作为映射表的本质。
person = {"name": "张三", "age": 30, "city": "北京"}
这里有两个规则要先记住:
key必须唯一key必须可 hash,常见的str、int、tuple都可以,list和dict不行value没什么限制,几乎可以放任何 Python 对象
常见创建方式
最常见的是直接写字面量:
d = {"a": 1, "b": 2}
也可以用构造函数:
d = dict(a=1, b=2)
如果手里已经有键值对序列,直接转就行:
pairs = [("a", 1), ("b", 2)]
d = dict(pairs)
还有 fromkeys,适合先把一组 key 统一铺开:
keys = ["name", "age", "city"]
d = dict.fromkeys(keys, None)
这里要小心一点:fromkeys 传进去的 value 是同一个引用,不是每个 key 各自拷贝一份。这个坑在放可变对象时最容易踩。
访问、修改和删除
访问最直接:
d["name"]
但如果 key 不存在,dict 会直接抛 KeyError。线上代码里我一般更愿意先用 get,少一点意外:
