列表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的主要内容,如果未能解决你的问题,请参考以下文章