当前位置:首页>python>Python入门必看:一文搞懂字典 dict|从入门到实战

Python入门必看:一文搞懂字典 dict|从入门到实战

  • 2026-09-21 21:25:55
Python入门必看:一文搞懂字典 dict|从入门到实战

我是 Jerry,一个正在学 Python 的普通人。

前面写了列表、元组,今天聊聊字典 。


一、字典到底是啥?

简单说,字典就是带名字的标签盒。

列表像排队,找人得数:第 0 个、第 1 个、第 2 个... 麻烦。

字典像抽屉,每个抽屉贴个标签,直接拉开就行。

# 列表写法,你得记 0 是水果,1 是颜色...fruit= ["苹果", "红色", "山东"]print(fruit[0])  # 苹果# 字典写法,一看就懂movie= {"name": "苹果","color": "红色","place": "山东"}print(movie["name"])      # 苹果print(movie["place"])  # 山东

记住三点:

  • 键(key)不能重复,值随便重复

  • 键只能用字符串、数字、元组

  • 查找贼快,百万数据也是瞬间


二、怎么取数据?两种方式

方式一:直接硬刚(不保险)

info= {"name": "苹果", "place": "山东"}print(info['place'])  # 山东,没问题# print(info['money'])   # 报错!KeyError

你要是访问了个不存在的键,程序会直接报错。

方式二:用 get()(保险)

info= {"name": "苹果", "place": "山东"}print(info.get('name'))         # 苹果print(info.get('money'))        # None,不报错print(info.get('money', 0))     # 0,获取不到,给默认值

建议:不确定有没有的键,一律用 get()。


三、看看字典里有啥

phone= {"name": "iPhone17", "price": 10000, "color": "红色"}# 有几个键值对?print(len(phone))  # 3# 所有键print(phone.keys())     # dict_keys(['name', 'price', 'color'])# 所有值print(phone.values())   # dict_values(['iPhone17', 10000, '红色'])# 所有键值对print(phone.items())    # dict_items([('name', 'iPhone17'), ...])

四、遍历字典,三种姿势

phone= {"name": "iPhone17", "price": 10000, "color": "红色"}# 姿势一:只拿键(默认)for key in phone:print(key)# name price color# 姿势二:只拿值for v in phone.values():print(v)# iPhone17 10000 红色# 姿势三:键值一起拿(最常用)for k, v in phone.items():print(f"{k}: {v}")# name: iPhone17# price: 10000# color: 红色

第三种写得多,记住就行。


五、合并两个字典

person= {"name": "张三", "money": 1999}extra= {"age": 23, "city": "北京"}person.update(extra)print(person)# {'name': '张三', 'money': 1999, 'age': 23, 'city': '北京'}

如果两个字典有相同的键,后面的会覆盖前面的。


六、增删改查,一气呵成

phone= {"name": "iPhone17", "price": 10000, "color": "红色"}# ===== 增 =====phone["size"] =6.8print(phone)#  {'name': 'iPhone17', 'price': 10000, 'color': '红色', 'size': 6.8} ,多了 size: 6.8# ===== 改 =====phone['color'] ="土豪金"# 红色太普通,换土豪金print(phone) 

# {'name': 'iPhone17', 'price': 10000, 'color': '土豪金', 'size': 6.8}

# ===== 删 =====# 删指定键phone.pop("color")print(phone)

# {'name': 'iPhone17', 'price': 10000, 'size': 6.8}

# 删最后一对phone.popitem()print(phone)

# {'name': 'iPhone17', 'price': 10000}

# 全删光phone.clear()print(phone)  # 空了,{}

七、实战:统计单词出现次数

写个实用的小功能:统计一句话里每个词出现几次。

sentence="我 喜欢 Python Python 真的 很 好用 我 喜欢 编程"words=sentence.split()  # 按空格切分count= {}for word in words:count[word] =count.get(word, 0) +1print(count)# {'我': 2, '喜欢': 2, 'Python': 2, '真的': 1, '很': 1, '好用': 1, '编程': 1}

解释一下:

  • count.get(word, 0):这个词出现过吗?没有就返回 0

  • + 1:次数加一

  • 比写 if-else 清爽多了

这代码在实际开发里经常用到,比如统计用户行为、词频分析啥的。


八、什么时候用字典?

情况用啥为啥
数据有"名字",要快速查找字典直观、快速
数据有顺序,要按位置取列表支持下标、切片
数据不能改元组安全、能当字典的键
要去重集合自动去重,判断成员快

最后说两句

字典这玩意儿,看着简单,用起来贼爽。我刚开始学的时候觉得列表就够了,后来写复杂点的程序才发现,没有字典根本玩不转。

今天的内容:

  • get() 比直接下标安全

  • keys()/values()/items() 常用

  • update() 合并字典

  • 增删改查就那几个方法

  • 统计词频是经典应用

下篇打算写 集合(set),也是个神器。


关注「AI 学习成长记」,我踩过的坑你别再踩。

最新文章

随机文章