Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0147
- 这是 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`
---- 这次研究下面这些类的比较运算符
- 字符串 str
- 字节序列 bytes
- 列表 list
- 元组 tuple
整体的口诀还是
从前往后,有大于无
- 如果有嵌套的列表之类的东西
- 就比较这两个列表
- 如果此子列表中还有列表
- 就继续比较下去
- 直到分出大小
- 除了列表之外还有什么容器呢?🤔
- 映射类
- 主要指的是字典
- 字典
- 没有 大于小于
- 只能判断是否相等
{"a": 1, "b": 2} > {"a": 1, "b": 2}
{"a": 1, "b": 2} == {"a": 1, "b": 2}
{"a": 1, "b": 2} == {"a": 1, "c": 2}
- 大于号 直接 报错
- 字典不支持这个
- 如果他们只是 key相同呢?
- keys 相同
- value 不同
{"a": 1, "b": 2} == {"a": 1, "b": 0}
- 不光看key
- 也看 value
- 当且仅当 (key, value) pair 都相等
- 如果他们次序不同呢?
{"a": 1, "b": 2} == {"b": 2, "a": 1}
- 结果
- 不是说字典 有次序吗?
- 明确定义
- 只要key、value pair 都相等就行
- 比较时 无需次序
price1 = {"苹果": 8, "香蕉": 5, "橘子": 6}
price2 = {"橘子": 6, "苹果": 8, "香蕉": 5}
print(price1 == price2) # True
- 还有集合类
- set
- frozenSet
- 搜索set
- 可以判断是否相等/不等
{1, 2} == {1, 2}
{1, 2} == {1, 2, 2}
{1, 2, 2}
{1, 2} == {1, 2, 3}
- 集合内部可以合并同类项
- 大于小于如何判断呢?
{1, 2} < {1, 2, 3}
{1, 2} > {1, 2, 3}
- 如果有 从属子集关系的话
- 超集 大于 子集
- 子集 小于 超集
- 大于/小于
- 必须是 真子集/真超集
{1, 2} > {1, 2}
{1, 2} >= {1, 2}
- 大于等于 包括 等于
{1, 2} > {1, 3}
{1, 2} < {1, 3}
- 没有 从属子集 关系的话
- 就是不大于也不小于也不相等
- 就是不等于
- 冻结集合呢?
frozenset({1, 2}) == frozenset({1, 2})
frozenset({1, 2}) == {1, 2}
frozenset({1, 2, 3}) == {1, 2}
frozenset({1, 2, 3}) == {1, 3}
frozenset({1, 2, 3}) == {1, 4}
- 冰冻集合
- 比大小的 时候相当于 集合
- 比较运算符 有什么特性 吗?
- 对称性
- 等号 两边 可以 对换
- 不等号 两边 可以 对换
- 大于号 等价于 两边对换后 换小于号
- 除此之外还有什么特性么?
x > y
y > z- 能推出
x > z- imply 就是暗示的意思
- 可以判断出来
base_auth = {"拍照", "存储"}
full_auth = {"拍照", "存储", "定位", "麦克风"}
print(base_auth < full_auth) # True
print(full_auth > base_auth) # True
- 这次研究了比较
- 映射类 map
- dict 字典
- 集合类
- set
- frozenset
- 映射类 map
| 比较运算符 | 字典 (dict) | 集合 (set) |
|---|---|---|
== |
键值对完全相同则为 True 顺序不影响 |
元素完全相同则为 True 顺序不影响 |
!= |
键/值有任一不同 → True | 元素有任一不同 → True |
<、<=、>、>= |
❌ 直接报错 字典不支持大小比较 |
✅ 支持 表示子集/超集关系 |
- 比较运算符还有
- 对称性
- 传递性
- 否定之否定原理
- COMPARISION 中还有个
- 成员测试
- Membership test
- 怎么用呢??🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。


















