Python中的list列表

您所在的位置:网站首页 python字典添加元素复杂度 Python中的list列表

Python中的list列表

2023-04-22 02:23| 来源: 网络整理| 查看: 265

Python中的list列表 原创

带着梦想飞翔 2022-10-19 11:37:47 博主文章分类:python基本知识 ©著作权

文章标签 Python中的list列表 列表 list 时间复杂度 引用类型 文章分类 运维

©著作权归作者所有:来自51CTO博客作者带着梦想飞翔的原创作品,请联系作者获取转载授权,否则将追究法律责任

Python中的list列表一个队列,一个排列整齐的队伍列表内的个体称作元素,list列表是由若干个元素组成列表元素可以是任意对象(数字、字符串、对象、列表等)列表内元素有顺序,可以使用索引列表是线性数据结构列表是可变的使用[]表示列表的定义(初始化)lst = list() #定义了一个空列表,名称叫做lstlst2 = [] #定义了一个空列表,名称叫做lst2lst3 = [1,2,3,'ab'] #定义了一个列表lst4 = list(range(5)) #使用可迭代对象定义了一个列表注意:列表的长度是可变的列表的索引访问索引,也叫下标,分为正索引,负索引正索引:从左至右,从0开始,为列表中每一个元素编号负索引:从右到左,从-1开始,正负索引都不可越界,否则引发异常IndexError列表可以通过索引访问。list[index] ,index就是索引,使用中括号访问lst = [1,2,3,4]print(lst,lst[1],sep="\n")输出如下:

Python中的list列表_列表

列表中的常用方法查询index(value[,start[,stop]])->int #通过value值,从指定区间查找列表内的元素是否匹配,匹配第一个就立即返回其对应索引,匹配不到,抛出异常ValueErrorvalue 需要查找的值start 查找范围的起始索引stop 查找范围的结束索引int 返回值时int类型,即值对应的索引注意:如果不指定start,stop默认从左到右全局看查找,找到第一个就返回其对应索引,找不到,抛出异常ValueError查找的时间复杂度是O(n),最坏需要遍历整个列表count(value)->int #返回列表中匹配value的次数value 需要匹配的值int 在列表中value出现的次数查找的时间复杂度是O(n),需要遍历整个列表len(list)->int 返回list列表中元素的个数。时间复杂度O(1)元素的修改list[index] = value #将列表中索引为index的值修改为value,注意index索引不能超界添加元素append(object)->None 在列表尾部追加元素object,返回值None。就地修改,时间复杂度O(1)object需要插入的元素insert(index,object)->None 在指定索引index处插入元素object,返回值None。就地修改。时间复杂度O(n)index 插入元素的所有位置object需要插入的元素注意index可以越界。超过上边界,在首部添加。这样会导致整个列表list中所有元素位置都向后挪动,此时时间复杂度最大为O(n).超过下边界,在尾部追加。此时相当于append方法,直接在尾部追加,时间复杂度为O(1)extend(iterable)->None 将可迭代对象的元素追加到尾部,返回值None.就地修改-> list 将两个列表链接起来,产生一个新的列表,原列表不变。本质上是调用了__add()__方法[1,2,3] + [4,5,6] # 会返回一个新列表[1,2,3,4,5,6]->list 重复操作,将本列表元素重复n次,返回新的列表[0]*5 #会返回一个新列表[0,0,0,0,0][[1,2]]*3 #会返回一个新列表[[1,2],[1,2],[1,2]]注意,次数列表中的3个元素都是应用类型,都指向同一个列表[1,2]如果,列表[1,2]的元素被修改,其他3个列表中的元素也同样会被修改。删除元素remove(value)->None 从左至右查找第一个匹配value的值,移除该元素,返回None.就地修改。效率比较低,会产生元素的挪动。pop([index])->obj #删除指定索引index位置的元素,如果不指定,默认从列表尾部删除。返回被删除元素的对象。index 需要删除元素所在位置的索引。如果不是从尾部删除,会产生元素的挪动。时间复杂度最大为O(n),如果从尾部删除,时间复杂度为O(1)clear()->None 清除列表索引元素,剩下一个空列表,就地修改。其他操作reverse()->None 将列表元素反转,返回None。就地修改sort(key=None,reverse=False)->None 对列表元素进行排序,就地修改,默认升序key 一个函数,指定key如何排序 lst.sort(key=function)reverse反转,默认值为False,表示升序,如果指定reverse=True,表示降序in 判断一个元素是否在列表里面[3,4] in [1,2,[3,4]] #判断列表[3,4]是否在列表[1,2,[3,4]]里面。这里返回值时Truefor x in [1,2,3,4] #用在for循环里面,可以遍历整个列表中的元素。列表复制copy()->list 会返回一个新列表。注意copy是浅拷贝,如果列表中的值有引用类型,只会复制引用类型的地址。如果想使用影子拷贝,也叫深拷贝。深拷贝遇到引用类型,会在内存中重新创建一个和引用类型所指向的对象。copy模块提供了deepcopy方法可以达到深拷贝import copylst1 = [0,1,2,[3,4,5]]lst2 = lst1.copy() #浅拷贝lst3 = copy.deepcopy(lst1) #对lst1进行深拷贝浅拷贝模型图

Python中的list列表_Python中的list列表_02

注意:lst0 = list(range(5))lst1 = list(range(5))print(lst0==lst1) #会打印True,因为==默认会比较列表中元素的值。

收藏 评论 分享 举报

上一篇:边沿触发和电平触发的区别

下一篇:Python中的tuple元组和namedtuple命名元组



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3