Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0122
- 这是 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`
---- 这次我们 玩了节奏
- 可以 让节奏成为套路
- 也可以 让节奏独立空间
students = ["oeasy", "o2z", "o3z"]
math = [95, 96, 97]
chinese = [91, 92, 93]
score = list(zip(students, math, chinese))
print(score)
- 缝合操作
- 把列表里 同样位置的元素
- 缝合 在一起
- 把列表里 同样位置的元素
- 缝合里 的列表项
- 怎么不是
中括号包裹的呢??🤔
- 怎么不是
[]
type([])
- 一对中括号 是 空列表
- 一对小括号 是什么类型?
type(())
- 小括号这个变量
- 类型为 tuple
- /ˈtʌpl/
- 他泼
- 什么是tuple呢?
| 单词 | 中文 |
|---|---|
| single | 单一 |
double |
双倍 |
triple |
三倍 |
quadruple |
四倍 /ˈkwɑːdrʊpl/ |
quintuple |
五倍 /ˈkwɪntʃəpl/ |
- 结尾多是:
- -ple / -tuple
- 来自 -plus
- 折叠
- 翻倍
- 都叫 X‑tuple
help(tuple)
- 看看官方的定义
- 元组是
- 内建的 builtin
- 不可变的 immutable
- 序列 sequence
- 中括号组成的 列表(list)
- 好像也是 序列
help(list)
- 列表定义
-
列表是是
- 内建的 builtin
- 可变的 mutable
- 序列 sequence
-
什么是mutable呢?
- 给音轨静音🔇叫做mute
-
可以mute的音轨是可变的
- mutable
-
im代表否定
- impossible
- immoral
- immotal
-
不可以变的音轨
- 是immutable
- 不可变的 序列
- 叫 元组
- tuple
| 示例 | 名称 |
|---|---|
(0, 1) |
2‑tuple |
(0, 2, 3) |
3‑tuple |
(1, "A", True) |
3-tuple |
- 列表和元组
- 都是 内建的
- 都是 序列
- 有次序
- 元组 可以嵌套吗?
- 元组 支持嵌套
t = (1, 2, (3, 4))
t[0]
t[1]
t[2]
t[2][0]
t[2][1]
- 嵌套元组 也可以 用索引来 索引元组项
- 和列表 一样
- tuple 和 list 相比
- 就是不可变
- 列表(list)可变
lst = [0, 1]
lst[0]
lst[0] = 1
lst
- 列表里面的列表项
- 是 可以修改的
- 是mutable的
- 对比元组呢?
t = (0, 1)
t[0]
t[0] = 1
- 尝试修改
- 元组里的 元组项
- 是 不能修改的
- 是 immutable的
- 下列情况 避免空格
- 大、中、小括号 内侧 边缘
- 逗号 与 结束括号 之间
- 逗号、分号、冒号 之前
-
写法 和 列表 一样
- 就是 把[] 换成了 ()
-
再去看看tuple的构造方法
- 如果 构造函数 没有参数
- 返回 一个空元组
- 可迭代的变量
- 字符串 str
- 列表 list
- 范围 range
- 可以给 元组 初始化
- 用 可迭代变量 构造元组
t = tuple("oeasy")
t
t = tuple(range(5))
t
t = tuple([0, 1])
t
- 和列表很像啊
- 列表 可以 转 元组
- 那么 元组 可以 转 列表 吗?
t = tuple([0, 1])
t
l = list((0, 1))
l
- 列表和元组
- 可以相互转化
- 列表的方法
- 元组 也都能用吗?
- 列表 有 不少 方法
- 元组 不能修改
- 方法 比列表
- 少得多
- 只能统计
- count
- index
- 我们来试试
- count 计数
- 总共有多少个?
t = tuple("oeasyo2z")
t
t.count("1")
t.count("e")
t.count("o")
- 统计个数
- 计数方法也和列表一样
- 如何 被统计的在容器里呢?
t = (0, 1, (2, 3))
t.count(2)
- 找不到 2
- 因为2在容器中
- count只能看到 当前容器中的东西
t.count((2, 3))
- 只能看到(2, 3) 这个元组
- 想找2得进去
t[2]
t[2].count(2)
- 在子容器中 就可以找到了
- 索引方法 (index)
- 找到你是第几个
- 找到 元组项的索引
- 索引方法 和 列表的 一样
- 三个参数
- 搜索值
- 开始位置 start
- 结束位置 stop
- 三个参数
- 帮助里 还说啥了?
help(tuple)
- 元组
也可以做构造函数 参数
- 元组本身
- 也是可迭代对象
t1 = (0, 1)
id(t1)
t2 = tuple(t1)
t2
id(t2)
id(t1) == id(t2)
- 效果
-
参照 帮助手册
- tuple的参数 是 元组
- 那么返回同一个对象(引用地址)
-
元组也能切片和索引吗?
t = tuple(range(10))
- 先来索引
- 切片和索引 都能使用
- 切片结果类型 还是 元组
- 这次我们了解了元组(tuple)
- 元组 也可以
- 支持 索引 和 切片
- 还可以 用
- 计数函数(count)
- 索引函数(index)
- 既然 有了 列表
- 为什么 还需要有 元组 呢??🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。


























