show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次我们了解了乱序
- 排序可以让列表有顺序
- 随机洗牌可以让列表没有顺序
- 洗牌、码牌、抓牌、看牌
- 理牌可以让自己手里的牌有适合出牌的次序
- 无序有序都用
- 无序带来混乱的快乐
- 有序带来理性的方便
- 目前所有列表都是一维列表
- 可以有更高维度的列表吗?🤔
- 分析append和extend的区别
- 这如何理解呢?
- 这还是个列表吗?
- l确实还是列表
- 总共有三个列表项的列表
- 第2个列表项是什么呢?
- 第二个列表项 还是
- 一个列表
- 2个元素的 列表
- 这是列表的列表?
- 容器的容器
- 不就成了套娃🪆吗?
- 这个列表的列表项
- 也能用索引来访问吗?
-
原来的列表是一个纯列表
- 属于一维列表
-
这种列表的列表叫什么名字呢?
- 列表的列表
- 属于二维列表
- 本来 l 是一个 3*3 的数组
- 对他进行了索引操作[0]
- 得到了这个二维数组的第一个元素
- 一个一维列表[1, 2, 3]
- 可以进一步进行索引吗?
- 通过索引找到具体的列表项
- 可以再对 a[0] 这个一维数组进行
- 索引操作
- 切片操作
- 先索引
- 再切片
- 那我可以先切片后索引吗?
- 二维列表先切片
- 得到的还是一个二维列表
- 是按照行切出来的列表
- 再切片得到的还是二维列表
- 还是按照行切出来的列表
- 可以对这个二维列表
- 再进行切片或者索引的操作
- 索引是降维
- 切片是筛减
- 可以用负数进行索引和切片吗?
- 负数用法和一维列表一样
- 如果列表超过了二维
- 索引和切片也是这样吗?
- 多维列表
- 索引和切片的模式
- 没有变
- 多维列表可以排序吗?
- 排序的前提是能够比较大小
- 列表型不能和整型比较
- 列表型可以和列表型比较吗?
- 同一维度的列表对象可以比较
- 所以特定的列表对象可以排序
- 多维列表可以排序
- 为什么呢?
- 排序的前提是比较
- 列表是可以进行比较的
- 那列表比较的原则是什么呢?
- 先比较第0个元素
- 如果不同
- 就得出结论
- 如果相同
- 再比较第1个元素
- 如果不同
- 以此类推
- 排序后的列表还是原来的列表吗?
- 多维列表地址不变
- 多维列表的列表项引用的地址变化
- 多维列表的列表项可以排序吗?
- 列表项l[0]
- 还可以进行排序的
- 排序不影响列表自身的地址
- 多维列表会有什么特殊用法
l1 = ["oeasy",[165,70]]
l2 = l1
- 看起来是可以用列表直接赋值
- 可以修改相应的值吗?
l1 = ["oeasy",[165,70]]
l2 = l1
l1[0] = "o2z"
print(l2)
l2[0] = "o3z"
print(l1)
- 运行结果
- 这两个列表中的名字
- 一改全改
- 这次我们了解了列表的嵌套(embedded)
- 列表项也可以是列表
- 可以无限嵌套下去
- 可是多维的时候
- 使用列表赋值
- 会把地址直接赋过去
- 导致一改全改
- 这怎么办呢???🤔
- 下次再说 👋