[oeasy]082

列表 - 类型 回忆

  • 上次理解了
  • 类 与 对象
  • 类 class
  • 是 抽象的 数据类型
  • 对象 object
  • 是 某个类的 实例对象
  • instance object
  • 不同类型的对象
  • 有不同的运算和方法

添加图片注释,不超过 140 字(可选)

  • 还有没有 其他变量类型呢 ?

新类型

  • 输入一对儿中括号
  • 右手食指、中指、无名指、小指
  • 落位到 jkl;

添加图片注释,不超过 140 字(可选)

  • 小指向上够到的是 p
  • 向右移动
  • [ 和 ]
  • 注意是半角的括号
  • 这对中括号
  • 是什么类型呢?

中括号 type([])

  • 使用type函数观察

添加图片注释,不超过 140 字(可选)

  • 对应类型 是 list
  • list 该如何理解呢?

help(list) help(list)

  • 喊救命

添加图片注释,不超过 140 字(可选)

  • 三个词描述
  • built-in 内建
  • mutable
  • sequence

mutable

  • 可以把音量调节
  • 甚至 静音
  • mute掉
  • mutable
  • 可修改的

添加图片注释,不超过 140 字(可选)

  • sequence 是什么意思?

排队

  • sequence 序列
  • 有顺序的排列

添加图片注释,不超过 140 字(可选)

  • 有前有后

添加图片注释,不超过 140 字(可选)

  • 一个一个来

空列表

  • 观察定义

添加图片注释,不超过 140 字(可选)

  • 如果 没有 给list参数
  • 那么 这就是 一个 空列表

添加图片注释,不超过 140 字(可选)

  • 将空列表 赋给 一个 变量 吗?

赋值 l = list() l

  • 能够成功赋值

添加图片注释,不超过 140 字(可选)

  • 赋值给这样的变量名 好吗?

变量名注意

添加图片注释,不超过 140 字(可选)

  • pep-8 建议不用
  • 大写I,小写l
  • 怕 和1 混淆
  • 大写O
  • 怕 和0 混淆
  • 我们使用lst作为变量名

lst lst = list() lst type(lst)

  • 效果

添加图片注释,不超过 140 字(可选)

  • 如果我直接写
  • lst = [ ]
  • 会如何呢?

直接赋值

  • [ ]好像 也可以
  • 直接得到一个空列表
  • 并赋给lst

添加图片注释,不超过 140 字(可选)

  • 这两句等价

lst = list() lst = [] lst.append lst = []

  • lst 是
  • list列表类 的 实例对象
  • lst. 之后摁下tab
  • 将lst下 所包含的成员 列出来

添加图片注释,不超过 140 字(可选)

  • 提示里 东西好多啊
  • 第一个 就是 append

追加

  • 具体 怎么 append?

lst lst.append(0)

  • 往 空列表 里面 追加 列表项

添加图片注释,不超过 140 字(可选)

  • append 作用 很明确
  • 把新追加的列表项
  • 放到最后
  • 列表项之间 用 逗号 分隔
  • lst 具体是 怎么 扩列 的呢?

pythontutor lst = [] lst.append(0) lst.append(1)

  • 从空列表开始

添加图片注释,不超过 140 字(可选)

  • 先扩的是0

添加图片注释,不超过 140 字(可选)

  • 再追加1

添加图片注释,不超过 140 字(可选)

  • lst追加元素之后
  • 还是原来的lst吗?

观察id id(lst) lst.append(2) id(lst)

  • lst在append前后
  • 所指向的地址(id)没有变过
  • lst还是原来的lst

添加图片注释,不超过 140 字(可选)

  • append 是
  • list 类 中的成员方法(method)
  • append 方法 的作用 是
  • 追加元素
  • 我不想 一个一个append
  • 想 直接给写出来
  • 可以 吗?

一步到位

  • 可以直接把列表写出来
  • 不用一个个append

id(lst) lst = [0, 1, 2, 3, 4] id(lst)

  • 但是这样 lst 所在的内存地址就变了

添加图片注释,不超过 140 字(可选)

  • append 算是什么呢?

成员方法 help(lst.append)

  • lst.append 是
  • 内建的 list列表类 的
  • 实例对象lst 的
  • 方法 method

添加图片注释,不超过 140 字(可选)

  • 什么 是 method(方法) 呢?

总结