内置数据结构 :列表及常用操作
Posted 莫带林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置数据结构 :列表及常用操作相关的知识,希望对你有一定的参考价值。
列表是一个序列:用于顺序的存储数据, 通常在定义的时候,使用中括号,在转化可迭代对象为列表时用list 函数
1,访问列表元素: List[0] 通过下标访问
list[10] 当下标超出范围时,会抛出 IndexError
list[-1] 负数索引从右边开始,从-1开始
list[-11] 负数索引超出超出范围时,也会抛出 IndexError
2. lst.index(4) 通过值查找索引,index 方法返回查找的第一个索引 凡是stop 比start 小 ,总是抛出valueError
lst.index(2,2) # start 参数指定从哪个索引开始查找
lst.index(2,2,3) # end 参数指定从哪个索引结束查找
lst.index(2,-4,-1) # start 和 stop 可以为负数,但是总是从左往右查找
3. lst.count(2) # count 方法返回值在列表里出现的次数
* 通过索引访问元素 : index()方法根据值返回第一个索引
count()方法返回元素在列表里的个数
二. 修改操作:
1.lst = [1, 2, 3, 2, 4, 3, 5]
lst[2] = 5 # 修改列表的元素直接使用下标操作取出元素并对其进行赋值,唯一方法。超出范围,抛出indexError
2.增加 : lst.append(9) # append 原地修改list, 返回结果是None
lst.insert(1,11) # 在第一个元素之前插入11 ,负数索引也可以插入,正数超出范围时在最后一个元素插入 ,负数超出范围时在第0个元素前插入
lst.extend(range(6)) # 操作可迭代对象,然后增加到列表后
lst + [‘a‘ ,‘b‘, ‘c‘] #不修改List本身,返回一个新的list list的连接操作
3.删除 : lst.remove() # 原地修改 返回None 根据值删除元素 ,从左到右,删除第一个,当值不存在,抛出 ValueError
lst.pop() # 返回并删除最后一个元素 ,当带有参数时,返回并删除索引所在位置的元素 , 当索引不存在时,抛出 IndexError
pop 根据索引删除元素,并且返回删除的元素
remove 根据值删除元素, 返回None
lst.clear() #删除所有元素
三. 其他操作:
求lst长度 : len(lst)
翻转操作: lst.reverse() # 原地修改,返回None 翻转列表
排序: lst.sort() # 原地修改,返回None 顺序排列
lst.sort(reverse=True) 逆序排列
复制 : 复制操作传递的是引用 lst2 = lst
lst2[1] = 5 修改lst2时,lst 也会改变 也叫浅拷贝
lst2 = lst.copy() 这个叫影子拷贝
如果深拷贝,需要引入copy模块 , import copy
lst2 = copy.deepcopy(lst)
四. 元组 : 任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定
以上是关于内置数据结构 :列表及常用操作的主要内容,如果未能解决你的问题,请参考以下文章