列表list

Posted wanghonghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表list相关的知识,希望对你有一定的参考价值。


定义

  • 一个队列
  • 列表内的个体称为元素,由若干元素items组成列表
  • 元素可以为任意对象(数字、字符串、对象、列表等)
  • 列表内元素有顺序,可使用索引
  • 线性的数据结构
  • 使用[]表示
  • 列表式可变的,可增加、减少

列表索引访问

  • 索引也叫下标
  • 正索引从左至右,从0开始
  • 负索引从右至左,从-1开始
  • 正负索引不可超界访问
  • list[index]

列表查询

  • index(value[,start,[stop]])
    • 通过值value从指定区间查找列表内元素是否匹配
    • 匹配第一个立即返回索引
    • 匹配不到报value Error
  • count(value)
    • 返回列表中匹配value的次数
  • len()
    • 内置函数,不会遍历,原理式取元数据

元素的操作

  • 列表元素修改
    • 索引访问修改:list[index]=value
  • 列表增加、插入元素
    • append(obj)
      • 列表尾部追加元素,返回None
      • 返回None意味没有新的列表产生,就地修改
      • 时间复杂是式O(n)
    • insert(index,obj)
      • 从指定索引index处插入元素obj
      • 索引超界:超上界尾部追加,超下界头部追加
    • extend(iteratable)
      • 将可跌代对象的元素追加进来,返回None
      • 单一元素不可追加
      • 就地修改
    • +
      • 连接操作
      • 产生新的列表,原列表不变
      • 本质上式调用__add__()方法
    • *
      • 重复操作,将本列表元素重复n次,返回新的列表
  • 列表删除元素
    • remove(value)
      • 从左至右查找第一个匹配的value值
      • 就地修改
      • 效率?
    • pop([index])
      • 不指定索引index就从列表尾部弹出一个元素
      • 指定索引就从指定处弹出第一个元素
      • 效率?
    • clean()
      • 清除所有列表元素,剩下空列表

列表的其他操作

  • reverse()

    • 将列表元素反转,返回None
    • 就地修改
  • sort(key=None,reverse=False)

    • 对列表元素进行排序,默认升序,就地修改
    • key是一个函数,指定key如何排序
    • lst.sort(key=funcitionname)高阶函数
  • in

    • 返回bool值

    • 举例:

      + [3,4] in [1,2,[3,4]]
      + for x in [1,2,3,4]
      

列表复制

  • 浅拷贝

    • copy()
    • 也称shadow copy,返回的是一个新列表,遇到引用类型,只是复制了一个引用而已
  • 深拷贝

    • 结构和引用分别拷贝

    • copy模块提供了deepcopy:

      import copy
      lst1= copy.deepcopy(lst0)
      

其他

  • 列表list、链表、queue、stack的差异
  • 赋值即定义,动态语言与静态语言的差别
  • 强、弱类型

以上是关于列表list的主要内容,如果未能解决你的问题,请参考以下文章

改变另一个片段的片段(列表)

在创建视图的片段期间为项目列表中的每个项目设置图像[重复]

无法从 onListItemClick 开始片段

在片段中使用列表视图

片段中的自定义列表视图。未找到布局

将对象列表从片段传递到 recyclerView 适配器