返回

Python__12--列表元素的增、删、改、排序

发布时间:2022-12-27 13:50:04 262

1 列表元素的增、删、改、排序

除sorted(),id均不变

1.1 加

  • append() 在列表的末尾添加一个元素

    测试代码:

    lst=[10,20,30]
    print(id(lst))
    lst.append(100)
    print(lst,id(lst))
    

    测试结果:

    tmp552E.png (374×118) (amazonaws.com)

  • extend() 在列表的末尾添加至少一个元素

    lst=[1,2,3,4]
    lst2=[10,25]
    lst.extend(lst2)
    #输出为[1,2,3,4,10,25]
    lst.append(lst2)
    #输出为[1,2,3,4,[10,25]]
    
  • insert() 向指定位置添加元素

    lst.insert(1,100)
    #输出为[1,100,2,3,4]
    
  • 切片

    lst=[1,2,3,4]
    lst2=[10,25]
    lst[1:]=lst2
    print(lst)
    #输出为[1,10,25]。序号1及之后元素被覆盖
    

测试代码:

lst=[1,2,3,4]
lst2=[10,25]
print(lst,id(lst),id(1),id(20))
lst.extend(lst2)
print(lst,id(lst))
lst.append(lst2)
print(lst,id(lst))
lst.insert(1,100)
print(lst,id(lst))
lst[1:]=lst2
print(lst,id(lst))

测试结果:

tmp5527.png (585×200) (amazonaws.com)

1.2 删

  • remove

    lst=[1,2,3,1]
    lst.remove(1)
    print(lst)
    #输出为[2,3,1]。从列表中删除一个元素,若有重复元素则删除第一个
    
  • pop 根据索引移除元素

    lst=[1,2,3,1]
    lst.pop(1)
    #输出[1,3,1]
    lst.pop()
    #输出[1,2,3]
    
  • 切片删除

    #id不变
    lst=[1,2,3,1]
    lst[1:3]=[]
    print(lst)
    #输出为[1,1]
    
  • clear 清除列表中的所有元素

    lst.clear()
    
  • del 将整个列表对象删除

    del lst #删除后列表不存在
    

测试代码:

lst=[1,2,3,1,4,10,20,30]
print(lst,id(lst))
lst.remove(1)
print(lst,id(lst))
lst.pop(1)
print(lst,id(lst))
lst[1:3]=[]
print(lst,id(lst))
lst.clear()
print(lst,id(lst))
del lst

测试结果:

tmpC20.png (529×198) (amazonaws.com)

1.3 改

  1. 修改单个元素

    lst=[1,2,3,4]
    lst[2]=15
    print(lst)
    #输出[1,2,15,4]
    
  2. 修改多个元素

    lst=[1,2,3,4]
    lst[1:3]=[10,20,30,40]
    print(lst)
    #输出[1,10,20,30,40,4]
    

测试代码:

lst=[1,2,3,4]
print(lst,id(lst))

lst[2]=15
print(lst,id(lst))
lst[1:3]=[10,20,30,40]
print(lst,id(lst))

测试结果:

tmp8299.png (414×141) (amazonaws.com)

1.4 排序

  1. lst.sort()

    • id不变,对原列表进行操作

    • 升序排列 lst.sort()或者lst.sort(reverse=False)

      lst=[1,20,3,40]
      lst.sort()
      print(lst)
      #输出[1,3,20,40]
      
    • 降序排列 lst.sort(reverse=True)

  2. sorted()

    • id变,产生新的列表对象
    • newlst=sorted(lst) 升序
    • newlst=sorted(lst,reverse=True) 降序

测试代码:

lst=[1,20,3,40]
print(lst,id(lst))
lst.sort()
print(lst,id(lst))
lst.sort(reverse=True)
print(lst,id(lst))
newlst=sorted(lst)
print(newlst,id(newlst))

测试结果:

注意观察id的变化

tmpD33C.png (366×171) (amazonaws.com)

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
python标准化日期转换 2022-12-27 13:23:03