Skip to content

Latest commit

 

History

History
229 lines (159 loc) · 4.11 KB

File metadata and controls

229 lines (159 loc) · 4.11 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0148
- 这是 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` 
---

比较运算符

回忆

  • 上次研究了比较
    • 映射类 map
      • dict 字典
    • 集合类
      • set
      • frozenset
比较运算符 字典 (dict) 集合 (set)
== 键值对完全相同则为 True
顺序不影响
元素完全相同则为 True
顺序不影响
!= 键/值有任一不同 → True 元素有任一不同 → True
<、<=、>、>= 直接报错
字典不支持大小比较
支持
表示子集/超集关系
  • 比较运算符还有
    • 对称性
    • 传递性
    • 否定之否定原理
  • COMPARISION 中还有个
    • 成员测试
    • Membership test

图片描述

  • 怎么用呢??🤔

字符串

  • "1" 是不是 字符串成员?
"1" in "0"
"1" in "01"
判断条件 结果
是成员 True
不是成员 False

图片描述

  • 要是 子串
    • 就 返回True

图片描述

  • 去试试元组

动手

  • 1 是不是 元组的成员
1 in (0,)
1 in (0, 1)
判断条件 结果
是元组成员 True
不是元组成员 False

图片描述

  • 列表呢?

列表

  • 1 是不是 列表的成员
1 in [0]
1 in [0, 1]
判断条件 结果
是成员 True
不是成员 False

图片描述

  • 序列类好像都差不多

图片描述

  • 列表可以 in 列表吗?

列表 in 列表

[0] in [0, 1]
  • in 判断的
    • 是 成员关系
    • 不是 子集关系

图片描述

  • 如果 列表 作为列表项
    • 那能 in 吗?

成员列表

[0] in [0, 1, [0]]
  • 能in

图片描述

  • 序列序列
    • 有序的排列
  • 没次序的会如何呢?

集合

  • 去试试 集合
1 in {0} 
1 in {0, 1}
判断条件 结果
是成员 True
不是成员 False

图片描述

  • 集合类 符合规律
  • 映射 map 类呢?

字典

  • dict 字典又如何
"a" in {"a": 1, "b": 2}
{"a": 1, "b": 2}.keys()
set({"a": 1, "b": 2}.keys())
"a" in {"a": 1, "b": 2}.keys()
  • 字典 in 检验的是
    • 是否在keys的里

图片描述

  • 目标 是否 in的 是字典keys

举个例子

d = {"age":41,"name":"oeasy","score":(66,67)}
if "height" in d:
    print("height",":",d["height"])
  • 对于 人物字典
    • 必须得 先有高度
    • 才能输出

图片描述

  • 先确认 in
    • 再 输出

图片描述

  • 就能 避免 KeyError

类型判断

  • 判断 是否为序列类
type(1)
type((1))
type((1,))
type((1,)) in [list, tuple, str]
  • type 得到类型
    • 判断 类型 是否在 类型元组 中

图片描述

  • 现在你 理解这个in了么?

总结

  • 这次研究了 in
    • 成员测试 运算符
    • Membership test operations
判断 结果
在容器里 True
不在容器里 False
  • in 和 not in 都是
    • 成员测试运算符

图片描述

  • 这个 not in 是什么意思呢??🤔
  • 下次再说 👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。