首页 > 编程语言 >Python__12--列表元素的增、删、改、排序

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

时间:2022-12-24 12:31:20浏览次数:37  
标签:__ 10 12 20 lst2 Python lst print id

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)

标签:__,10,12,20,lst2,Python,lst,print,id
From: https://blog.51cto.com/husheng/5967117

相关文章

  • 简单介绍python中读取txt文件时split()函数的妙用
    这篇文章主要介绍了python中读取txt文件时split()函数的妙用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教不知道大家有没有过需要从txt文......
  • 框架第十一课---django中间件三个了解的方法,基于django中间件实现功能的插拔式设计,coo
    昨日内容回顾forms组件渲染标签form_obj=MyForm()方式1:form_obj.as_p\form_obj.as_ul\form_obj.as_table方式2:form_obj.username.labelform_obj.username方......
  • 弱大数定律的等价表述
    大数定律是概率论早期就开始研究的一个重要的问题,我们知道,有刻画一阶矩存在性的强大数定律(stronglawoflargenumbers):定理(Колмого́ров)对于一列......
  • 05-独立按键
    #include"reg52.h"sbitS7=P3^0;sbitS6=P3^1;sbitS5=P3^2;sbitS4=P3^3;sbitL1=P0^0;sbitL2=P0^1;sbitL3=P0^2;sbitL4=P0^3;voidSe......
  • 解决MySQL5.5MySQLInstanceConfig最后一步setting报错
    问题描述在安装过MySQL(或已卸载)的电脑中重新安装MySQL5.5, 在安装最后一项中Processing configuration中最后一项配置失败:问题解决:首先关于卸载:安装时候若使......
  • 圣诞树-有节奏感的浪漫(涵源码)
    预览效果视频演示效果圣诞树视频演示源码也在延时效果的简介......
  • 评论智能分类
    评论智能分类一、选题的背景如今网络购物越来越发达,人们在挑选东西的时候往往会看一下商品的评价信息,信息的量是十分巨大的,因此人工分类已经不能满足需求了,所以就需要计......
  • 大家都觉得哪个项目管理系统好?
    本章节将盘点国内外一些优秀的项目管理工具,包含:1、软件开发项目管理工具PingCode;2、项目协作管理软件Worktile;3、项目缺陷追踪管理软件Jira;4、微软项目管理软件Microsoft......
  • Linux驱动开发11——平台设备驱动
     module_platform_driver(xxx);该宏定义展开为:staticint__initxxx_init(void){returnplatform_driver_register(&xxx);}module_init(xxx_init);stat......
  • 每日食词—day059
    protectiveadj. n.防护的、给予保护的、保护的、保护assoonas一……就……quantityn.量、数量、值grantv. n.授权、授予、允许、给予、承认servern.......