首页 > 代码库 > 内置数据结构 :列表及常用操作

内置数据结构 :列表及常用操作

列表是一个序列:用于顺序的存储数据, 通常在定义的时候,使用中括号,在转化可迭代对象为列表时用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)
   四. 元组 :  任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定 
 

内置数据结构 :列表及常用操作