Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0133
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次学习了字典
- 字典可以读取和赋值
- 键的列表 keys()
- 值的列表 values()
- 字典项的列表 items()
- 字典项可以增删改
- 直接 用key 索引
- del 删除字典项
- update函数
- 字典可以读取和赋值
- 可以用 字典 更新字典 吗??🤔
- 我想手动给字典添加
- 键值对
- key-value pair
- 可以么?
- update
- 可以用字典
- 更新字典
- 字典的合并使用 update
- 两本字典放在一起
- 合成一本字典
- union 并集
d1 = {"a": 1}
d2 = {"b": 2}
d1.update(d2)
d1- 字典 是 把参数字典
- 合并过来
- 让字典添加 新字典项
- 但是如果 两个字典
- 同一key的值
不一致 - 会如何呢?
- 同一key的值
- 试试
d1 = {"a": 1}
d2 = {"a": 2}
d1.update(d2)
d1- 以后面的为准吗
- 用d2更新d1么
- 相当于
- d1["a"] = 2
- 一个key只能有一个值
- 所以这个字典项被更新了
- 毕竟update就是更新的意思
help(dict.update)
- 查询帮助
- 想要d1、 d2 保持原样
- 返回一个新字典
d1 = {"a": 1, "b": 2}
d2 = {"a": 2, "c": 3}
merge_dict = {**d1, **d2}
merge_dict
d1
d2- 效果
- 这 **d1 怎么理解?
- **d1 是 字典解包
- **d2 也是 字典解包
merge_dict = {**d1, **d2}
- 把两个 解包后的字典
- 组合成 新字典merge_dict
- d1、d2都没有改变
- 除了 update
- 还有一个 setdefault 命令
- 也可以 添加字典项
d = dict()
d.setdefault("name", "oeasy")
d
- 试试 设置 默认值
- 怎么理解默认呢?
- 查看帮助
help(dict.setdefault)
- 如果 没这个key
- 就 插入这个key
- 并返回这个默认值
- 如果 有这个key
- 再想 设置新的值 是不行的
- 返回 原来的默认值
d = {}
d.setdefault("name", "oeasy")
d.setdefault("name", "o2z")
d["name"]- 缺省设置
- 虽然有默认值
- 也还想要更新
- 该怎么办 呢?
d = dict(name = "oeasy")
d- 有两种方式 强制更新字典
- update
- 通过key索引后 赋值
d.update(name = "o2z")
d
d["name"] = "o3z"
d
d.setdefault("name", "o4z")
d- 这两种设置
- 和setdefault不同
- setdefault是
试着设置字典项
- 那 有没有
试着获取呢?
d = dict(one=1)
d
d["one"]
d["two"]
- 用传统的dict[key]获取
- 不存在的key
- 如果我们用传统方法
- 就会出现KeyError😱
- 去查文档
- 查询dict帮助手册
help(dict)
- /get
- 查询手册中的get
- n
- 下一个字符
- 有这个字典项
- 返回相应的值
- get 一个 不存在的key
- 返回 default
- default 默认为None
- 如果 default 不等于 None呢?
d = dict(oeasy = 1)
d.get("o2z")
d.get("o2z", 2)- get 是 试着来
- 和 setdefaul很像
- 都是试着来
- setdefault 是 试着设置字典项
- get是试着返回字典项
- 返回不了就返回默认值default
- default参数为默认返回值
- 这次学习了字典
- 字典可以更新
- update
- {**d1,**d2}
- 字典可以更新
- 可以试着来
- 试着设置字典项
- setdefault
- 试着获取字典项
- get
- 试着设置字典项
- 字典还可以直接赋值
- 可以把 字典
遍历一遍吗?🤔 - 下次再说!👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。














