python学习笔记 | 5.7、python基础-使用dict和set
·
一、dict(字典)—— 就是 “名字 - 内容” 对照表
1. 长啥样?
用 { key: value } 写法,一对一对存:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
- key:名字(比如 ‘Michael’)
- value:对应的值(比如 95 分)
2. 怎么用?
- 查成绩:
d['Michael']→ 得到 95 - 加 / 改成绩:
d['Jack'] = 88 - 一个 key 只能对应一个值,后面会覆盖前面
3. key 不存在会报错!
两种安全方法:
'Thomas' in d→ 看在不在,返回 True/Falsed.get('Thomas')→ 不存在返回 None(不报错)
4. 删除
d.pop('Bob')
5. dict 特点(必记)
- 查找超级快,数据再多也不慢
- 占内存多
- key 必须是不可变的(字符串、数字可以,list 不行)
二、set(集合)—— 就是 “不重复的一堆东西”
1. 特点
- 没有重复值,重复会自动删掉
- 只存 key,不存 value
2. 怎么建
s = {1, 2, 2, 3}
# 自动变成 {1,2,3}
3. 常用操作
- 添加:
s.add(4) - 删除:
s.remove(3) - 交集(都有的):
s1 & s2 - 并集(合起来):
s1 | s2
4. 注意
- set 里不能放 list,会报错
- 也是无序的
三、一句话分清 list /dict/set
- list:有序列表,可重复
- dict:键值对,查找快,key 不能重复
- set:只存 key,自动去重
四、超简口诀
- 要一对一对存、快速查找 → 用 dict
- 要去重、算交集并集 → 用 set
- key 只能用字符串、数字这种不变的东西
- list 不能当 key,也不能放进 set
===分割线=练习题
第 1 题(dict 基础)
创建一个字典,存三个名字和年龄:
- 小明: 18
- 小红: 19
- 小刚: 20
然后打印出 小红的年龄。
d={'小明':'18','小红':'19','小刚':'20'}
# print(d) #❌️,因为题目是:打印小红的年龄
print(d['小红'])
第 2 题(dict 新增与修改)
接着上面的字典:
- 给字典加一个人:小李,21 岁
- 把小明的年龄改成 20
- 打印整个字典看看结果
d={'小明':'18','小红':'19','小刚':'20'}
# d.add('小李','21') #❌️add() 是 set(集合) 的方法!字典的加东西是:d['小李'] = 21
# d['小李','21']❌️
d['小李']=21
# d.update('小明','20') #❌️
d['小明']=20
print(d)
第 3 题(set 去重)
有一个列表:
lst = [1, 2, 2, 3, 3, 3, 4]
把它变成集合,去掉重复数字,然后打印出来。
lst = [1, 2, 2, 3, 3, 3, 4]
set1 = set(lst)
# 没有打印!!!
print(set1)
更多推荐

所有评论(0)