Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0130
- 这是 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`
---- 集合操作
| 英文单词 | 中文释义 |
|---|---|
| add | 添加 |
| clear | 清空 |
| remove | 指定删除 |
| discard | 丢弃(删除) |
| pop | 弹出 |
- 集合运算
| 运算类型 | 基础运算符 | 增强赋值运算符 | 对应方法名 |
|---|---|---|---|
| 交集 | & | &= | intersection |
| 并集 | | | |= | union |
| 差集 | - | -= | difference |
| 对称差集 | ^ | ^= | symmetric_difference |
- 集合之间可以判断
| 运算类型 | 英文描述 | 运算符 |
|---|---|---|
| 是否有交集 | isdisjoint | 无 |
| 是否是子集 | issubset | <= |
| 是否是超集 | issuperset | >= |
- 遇到这么个问题
- {}并不是空集
- 而是一个dict
| 符号 | 例子 | 类型名 | 英文名 | 是否可变 | 是否有序 | 可否重复 |
|---|---|---|---|---|---|---|
| 小括号 | (0, 1) | 元组 | tuple | 不可变 | 有顺序 | 可重复 |
| 中括号 | [0, 1] | 列表 | list | 可变 | 有顺序 | 可重复 |
| 大括号 | {0, 1} | 集合 | set | 可变 | 无顺序 | 不可重复 |
- 一对 空的 大括号
- 并不是 空集
- 而是一个
dict
dict是 什么 类型 ?
- 将 123
- 定义成 具体的音高
# 音符对应字典,按简谱 1 - 7 对应 F 调下的音符(1=F 时的对应)
NOTE_MAP = {
'1': 65, '2': 67, '3': 69, '4': 70,
'5': 72, '6': 74, '7': 76
}
# 定义强弱规律(四四拍:强=90,弱=50,次强=70,最弱=40)
BEAT_VELOCITY = {
1: 90, # 第一拍(强)
2: 50, # 第二拍(弱)
3: 70, # 第三拍(次强)
4: 50 # 第四拍(弱)
}- dict 代表着
- dictionary
- 字典
- 构造方法
- 需要一个key和value的pair
dict(one=1, two=2)
- one、two 就是 key
- 1、2 就是 value
- 通过 key 查到 key所 对应的value
- 通过 "one" 可以查到 1
- 通过 "two" 可以查到 2
d["one"]
d["two"]
- 要查的 是 one
- 查one 得到 1
- one 和 1 之间
- 有 mapping(映射)关系
- 我记得住 人名
- 但我 记不住 电话
- 这些人名 是 没有前后顺序 的
- 建个 通信录
contacts = dict(oeasy="123", o2z="456")
contacts
- dict方法 给字典变量赋初值
- 可以 直接 赋值 吗?
- 直接 把值赋过去
contacts = {"oeasy":123, "o2z"=456}
contatcts
- 效果一样
- 元组、列表、字符串
- 好像也有
索引 - 有什么
区别呢?
- 好像也有
- 列表能用数字
- 作为索引
lst = list("oeasy")
lst
lst[0]
lst[4]
- 列表是有序的序列
- 根据序号数字进行索引
- 通过序号数字找到列表项返回
- 超出列表范围报IndexError
- 索引错误
- 那字典 怎么
索引的呢?
- 列表 用 数字序号索引
- 字典 用 key进行索引
contacts = {"oeasy":123, "o2z"=456}
contacts["oeasy"]
contacts["o2z"]
- 根据 key
- 就能查到key对应的 value
- 所用的运算符 是 索引运算符[]
- 字典 啥时候报 索引错误 呢?
- o3z 不是 字典的key
contacts["o3z"]
- 字典 根据 键(key) 进行索引
- 通过 键(key) 来找到 相应的字典项
- 如果 key 不存在
- 没法索引
- 报KeyError
- 键错误
- key很重要!!!
- 字典dict
- 用 key 索引
- key 怎么理解?
- key 就是钥匙
- 这钥匙 干嘛 用的?
- 钥匙开锁
-
钥匙是和锁 配对的
- 有钥匙 才能开锁
- 开了锁 就可以找到value
-
按一下 触发一个功能 就叫key
- 开门的 钥匙
- 钢琴的 琴键
- 电脑键盘的 按键
-
联系人的信息
- 除了
电话之外 - 可能 还包括
地址
- 除了
- 人名 映射到 电话和地址元组
- 人名:(地址,电话)
d = {"oeasy": (123, "bj"), "o2z": (456, "sh")}
- 通过"oeasy"可以 映射到 详细信息元组
- 元组 第0个元素 是 电话
- 元组 第1个元素 是 地址
- 一个key 能开 两把锁 吗?
- 一个 key 可以对应
- 两个
不同的value 么? - 试试
- 两个
- key 只能有一个
- 后面的 会更新(update) 前面的
| 英文术语 | 中文翻译 |
|---|---|
| dictionary | 字典 |
| key | 键 |
| value | 值 |
| item | 项 |
| mapping | 映射 |
- 在古代
- 典 不是 随便谁都能编的
- 典 这个词怎么来的呢?
- 典一般都是很有分量的
- 经典
- 典籍
- 典范
- 用典
- 引经据典
- 左右 两只手
- 中间 拿着册
- 册 是 古代的判例、案例
- 盛典
- 大典
- 典狱长
- 典当行
- 都是 靠典 的
- 中间 拿着册
- 公元100年
- 许慎写出《说文解字》
- 英文中 dictionary 怎么来的呢?
- 字典这个词来自于拉丁语
- 意思是 单词和短语的 集合
- 1220年
- Johannes de Garlandia
- 加兰的约翰
- 他来自英国
- 后在法国教拉丁文
- 编写 第一本 拉丁语字典
- Johannes de Garlandia
- 为什么 不编 英文或法文字典 呢?
- 拉丁文
- 是 传统书写语言
- 来自 神圣的教廷总部
- 有 罗马帝国 战斗力的 背书
- 英文法文
- 混合了 日耳曼语、诺尔斯语、拉丁语
- 的 一种 口语方言
- 盎格鲁-撒克逊 编年史
- 由 英太祖 阿尔弗雷德 编写
- 用 盎格鲁撒克逊语 编写
- 古英语 (诺尔斯语)
- 从此 大不列颠 成为了 盎格鲁岛(England)
- 盎格鲁撒克逊 开始有了 民族认同
- 编书的 时候 还没有英文字典
- 世界上
第一本英文词典 是 谁编的 呢?
- 1604年
- 作者 Robert Cawdrey
- 是 神职人员
- 普及宗教文化
- 因为 能识字的人 不多
- 世界上 第一本 英文词典
- the Table Alphabeticall
- 单词表
- 作者 Robert Cawdrey
- 面向“女士、名媛淑女 以及其他技能不熟练人”
- 创造了一个临时解决方案
- 列出了 大约2,500个 “较难使用的词汇”
- 词汇量 还不到 当时常用语的 5%
- 神学 就是 当时最高 人文科技
- 前言部分 字体 为 罗马正体
- 和 今天的英语 很像
- 但是 也有些 不一样
- 从A到Z
- 按照字母表顺序 排列
- 单词字体 是 罗马正体
- 单词含义 是 哥特字体
- 向古腾堡致敬
-
词义 比较模糊
- “饮食”(diet)一词
- 被描述为“进食的方式”
- “饮食”(diet)一词
-
没有 任何解释性的 例句
- 更不用说 追溯词源 了
-
《字母表》的词汇量 非常少
- 总共37页
- 字母W 没有任何单词
-
那我做个
动物的字典吧
d = {
"cat": "girl-like animal",
"dog": "boy-like animal",
"rat": "small animal",
"elephant": "big animal"
}
- 编字典
- 给世界 下定义
- 真好玩!!
- 这次 接触了 字典
- 字典是用来查的
- 根据一个 key
- 可以查到相应的 value
- 字典是用来查的
- 字典 这个词 怎么来的呢??🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。



























