python学习3-内置数据结构1-列表

2023-01-31 01:01:43 python 学习

列表及常用操作

    列表是一个序列,用于顺序的存储数据

1、定义与初始化

lst = list() #使用list函数定义空列表

lst = []    #使用中括号定义列表

lst = [1,2,3]    #使用中括号定义初始值列表

lst = list(range(1,20))    #使用list把可迭代对象转换为列表

    通常在定义列表的时候,使用中括号,在转化可迭代对象为列表是使用list函数

2、查

lst[0]    #通过下标来访问,当下标超出范围时,会indexeError

lst[-1]    #负数索引从右边开始,并且从-1开始,当下标超出范围,会indexError

lst.index(value)    #通过值来查找索引,返回查找到的第一个索引 

lst.index(value,start,stop) #start指定从那个索引开始,end指定那个结束,并且不包含该索引,当值不存在该范围时,会ValueError,可以为负数,但是从左往右查找,凡是stop比start小总是ValueError。

lst.count(value) #返回值在列表里面出现的次数

index和count时间复杂度O(n)

3、改

lst[2] = 5 #直接使用下标操作取出元素并对其赋值,修改元素有且只有这种方法,对超出范围的索引会IndexError

4、增

lst.append(单个元素) #原地修改,返回结果是None,时间复杂度O(1)

lst.insert(index,value) #在index前插入value,也是原地修改,当索引超出范围时:当下标为负数,在第0个元素前插入值;当下标为正数,则在末尾插入值。时间复杂度是O(n)

lst.extend(可迭代对象) #把可迭代对象追加到末尾

lst + ['a','b'] #不修改lst本身,返回一个新的list,list的连接操作

5、删

lst.remove(value) #原地修改,根据值删除元素,从左到右删除第一个,当不存在时,ValueError。

lst.pop() #返回并删除最后一个元素,时间复杂度O(1)

lst.pop(index) #返回并删除index所在位置的值,不存在的索引,IndexError。时间复杂度O(n)

lst.clear() #清空列表

6、其它操作

len(lst) #查list的长度

lst.rerverse() #反转列表 无返回值

lst.sort() #排序 无返回值,元素能相互比较

lst.sort(reverse=True) #逆序

lst1 = lst #引用,复制的是地址。类似硬连接。

lst2 = lst.copy() #对可变对象是引用传递,对不可变是值传递


相关文章