show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次我们了解了列表的乘法运算
- 我们总结一下各种运算
- 赋值运算
- 直接用列表赋值
- 直接使用列表地址
- 两个列表指向同一位置
- 制作副本的3种方法
- copy拷贝
- list构造
- slice切片
- 直接用列表赋值
- 加法
- l1 = l1 + l2
- l1 += l2
- l1[-1:] = l2
- l1.extend(l2)
- 乘法
- 乘法的本质是累加
- 规则和加法类似
- 但是数据特别大时候会抛出异常
- 列表还有什么好玩的吗?🤔
- 在切片之后
- 有 max 和 min
- 这题我会🙋
- 最大最小值
- max 得到最大值
- min 得到最小值
- 可以去掉一个最高分
- 去掉一个最低分
- 再求平均分吗?
- 去奢去甚去泰
- 尝试
- 字符列表可以得到最大最小值么?
- 最大最小
- 也可以
- 看起来大小是由 ascii 码的值决定的
- 既然可以有最大最小
- 就应该可以排序
- 有排序这个函数吗?
- 好像还真有
- 动手试试
- 列表对象直接调用 sort 函数
- 函数返回值为 None
- 列表本身排序了
- 按照升序排列
- 如果我想降序呢?
- 这里也有 self 这个默认第一个参数
- reverse 函数可以让列表首尾翻转
- 这个函数可以对字符列表用么?
- 对于字符串作为列表项
- 可以排序么?
- 看起来是可以的
- 排序方法是按照字符顺序
- 也就是 ascii 的 ord()顺序
- 挨个比较
- 先看第一个
- 都是'o'
- 再看第二个
- 比较 ascii 的值
- '2' < '3' < 'e'
- 先看第一个
- 我想按照长度进行排序
- 可以么
- 可以给函数合适的参数
- 第一个参数是self
- 第二个参数是key
- key就是排序的方法
- key 是排序方法
- len 是按照字符串长度排序
- len 函数观察每个列表项
- 作为排序的依据
- 第三个参数 reverse 是什么意思?
- reverse 是 是否翻转
- 默认是 False 不翻转
- '2' < '3' < 'e'
- 如果是 True 就翻转
- 'e' > '3' > '2'
- 如果列表项是不同类型的话
- l = ["oeasy",123]
- 可以吗?
- 列表项可以是不同类型的东西
- 类型确实还是列表
- 这样的列表也可以进行赋值么
- 像正常列表一样
- 两个列表变量引用 堆(heap) 中同一个地址
- 那这样的列表也可以排序吗?
- 数字和字符串无法比较大小
- 整型变量和字符串变量无法进行比较
- 因为无法区分大小
- 所以排序失败
- 先去总结一下
- 这次我们了解了排序
- 排序是在原列表上做的
- 按照不同列表项类型排序
- 字符串
- 字符序号
- 字符串长度
- 数字型
- 数字大小
- 字符串
- 可以递增也可以递减
- 参数reverse=True
- 排好序之后列表就是有序列表了
- 向有序列表插入列表项就讲究位置了
- 具体怎么插入呢?🤔
- 下次再说 👋