List 列表

news2025/2/27 23:25:30

文章目录

  • 一、什么是 List 列表
    • 1.1 创建 List 列表的方式
    • 1.2 列表的新增函数方法
    • 1.3 列表的删除函数方法
    • 1.4 修改列表数据的方法
    • 1.5 列表的查询函数方法
    • 1.6 列表的排序和反序
    • 1.7 列表的复制

一、什么是 List 列表

  •         List 列表:该数据类型定义的变量可以理解为是一个数据的集合,可以有序的存储一些数据,并且没有数据类型的要求,可以多种数据类型同时存储。(相当于Java 中的数组)

1.1 创建 List 列表的方式

  • 直接创建

    • 语法格式
      •  	a = [1]
         	b = [a,1,'abc',True,1.23]
         	print(b)
        
        • 运行结果:在这里插入图片描述
  • 函数创建

    • list(): 创建一个空列表
      • range(start, stop[, step]): 搭配 list() 使用,在创建列表时向列表中添加内容
        • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
        • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
        • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
          • 代码示例:
            •    	#list(可迭代对象)
                 	a = list() # 创建一个空的列表对象
                 	print(a)
                 	print(list(range(10)))#只添加一个数字,默认为起始位置为0,此数字为终止位置
                 	print(list(range(0,10)))
                 	print(list(range(1, 11)))
                 	print(list(range(0, 30, 5)))# 步长为5
                 	print(list(range(0, -10, -1)))# 负数
                 	
                 	# 起始位置小于等于终止位置显示为空
                 	print(list(range(0)))
                 	print(list(range(1,0)))
              
              • 运行结果:在这里插入图片描述



1.2 列表的新增函数方法


  • append(x) 新增方法: 向列表中新增内容,原地修改列表对象,是真正的列表尾部添加新的元素,速度最快,推荐使用
    • 代码示例:
      •  	a = list() # 创建一个空的列表对象
         	a.append(1)
         	a.append(2)
         	print(a)
        
        • 运行结果
          在这里插入图片描述

  • extend() 合并方法: 将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象

    • 注意:
             需要的是一个可迭代对象
             如何需要两个列表合并的时候那么推荐使用extend() 他不会去创建新的对象
    • 代码示例:

      •  	a = list() # 创建一个空的列表对象
         	a.append(1)
         	a.append(2)
         	print(a)
         	
         	b = ["a","b","c"]
         	b.extend(a)
         	print(b)
        
        • 运行结果在这里插入图片描述

  • insert(index,object): 根据下标在指定位置插入数据。index: 表示下标,在那个位置插入数据。object: 表示对象,具体插入那个数据 。

    • 注意:
             这样会让插入位置后面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种移动的函数还有:remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后面元素的移动
      • 代码示例:
        •  	b = ["a","b","c"]
           	b.insert(1,"123456")
           	print(b)
          
          • 运行结果
            在这里插入图片描述




1.3 列表的删除函数方法


  • del 关键字: 删除列表指定位置的元素或者直接删除变量。不建议使用

    • 代码示例:
      •  	a=[10,20,30]
         	del a[1]  # 也可以使用切片删除
         	print(a) # 运行结果:[10, 30]
         	del a
         	print(a) # 运行结果:因为列表被删除,打印报错
        

  • pop(index)方法: 删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素

    • 代码示例:
      •  	a=[10,20,30]
         	print(a.pop(1))
         	# 运行结果: 20
        

  • remove(obj)方法: 删除首次出现的指定元素,若不存在该元素抛出异常
    • 代码示例:
      •  	a = [10,20,30,66]
         	a.remove(10)
         	print(a)
         	# 运行结果 :[20, 30, 66]
        

  • clear()方法: 清空列表
    • 代码示例:
      •  	a = [10,20,30,66]
         	a.clear()
         	print(a)
         	# 运行结果 :[]
        




1.4 修改列表数据的方法

  • list[index] = value: 直接通过下标修改
    • 代码示例:
      •  	a = [10,20,30,66]
         	a[1] = 50
         	print(a)
         	# 运行结果 :[10, 50, 30, 66]
        




1.5 列表的查询函数方法

  • 通过下标获取列表元素

    •        可以通过索引直接访问元素,索引的区间在[0,列表长度-1]这个范围,超过这个范围则会抛出异常
      •  	a = list() # 创建一个空的列表对象
         	a = list(range(10))
         	print(a[5])
         	print(a)
        
        • 运行结果在这里插入图片描述

  • 获得指定元素在列表中首次出现的索引

    • index(value,[start,[end]]): value为传入参数,start和end指定了搜索的范围,如果列表中不存在该参数,或者指定的范围没有改参数,那么报错
      •  	a = ["a","b","c","d","e"]
         	
         	print(a.index("a"))
         	print(a.index("a",1,2))
        
        • 运行结果在这里插入图片描述

  • count(value): 计算value在列表中出现的次数,value为传入参数

    •  	a = [10,20,30,66,10]
       	print(a.count(10))
       	# 运行结果: 2
      

  • max(list): 计算出列表中的最大值

    •  	a = [10,20,30,66,10]
       	print(max(a))
       	# 运行结果 : 66
      

  • min(list): 计算出列表中的最小值

    •  	a = [10,20,30,66,10]
       	print(min(a))
       	# 运行结果 : 10
      

  • sum(list): 计算列表中全部数据的总和,需要是数字类型

    •  	a = [10,20,30,66,10]
       	print(min(a))
       	# 运行结果: 136
      


1.6 列表的排序和反序

  • sort(): 可以直接对列表进行从小到大的排序,直接对原有的列表进行排序
    • 代码示例:
      •  	a = [10,20,30,66,10]
         	a.sort()
         	print(a)
         	# 运行结果 :[10, 10, 20, 30, 66]
        




  • sorted(list)内置函数: 不会改变原有的列表的,会生成一个新的列表
    • 代码示例:
      •  	a = [10,20,30,66,10]
         	print(sorted(a))
         	# 运行结果 :[10, 10, 20, 30, 66]
        




  • reverse()反转函数: 将列表中的内容从后向前展示
    • 代码示例:
      •  	a = [20,30,66,10]
         	a.reverse()
         	print(a)
         	
         	# 运行结果:[10, 66, 30, 20]
        




  • reversed()返回迭代器: 内置函数,reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数reversed()
    • 不对原列表做任何修改,只是返回一个逆序排列的迭代器对象

      • 代码示例:
        •  	a = [20,10,30,40]
           	c = reversed(a)
           	print(c)
           	print(list(c))
           	print(c)
           	print(list(c))
          
          • 运行结果:
            在这里插入图片描述




1.7 列表的复制

  • copy(): 可以复制一个列表 这个新列表和原有的列表内容一样,但指向不同的内存空间
    • 代码示例:
      •  	x = [100,200,300]
         	#x 和 y 指向同一个内存空间  会相互影响
         	y = x # 等号是内存地址的赋值
         	b = x.copy()
         	print(b)
         	x[0] = 1
         	print(y)
        
        • 运行结果
          在这里插入图片描述



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1823449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用Python向Word文档添加页眉和页脚

用Python向Word文档添加页眉和页脚 添加页眉和页脚效果代码 添加页眉和页脚 在本文中,我们将用python向文档中添加页眉和页脚。 效果 添加前的文档: 添加页眉和页脚后: 代码 from docx import Documentdef add_header_footer(doc_path…

C#——静态成员和非静态成员详情

静态成员和非静态成员 调用: 静态属性(static) : 类名.属性名调用 非静态属性(没static) : 1.先创建对象 2.对象.属性 特点: 静态方法里面只能访问静态成员 非经态方法中可以访问所有的属性 static数据成员在类的内部声明,但只能在类的外部定义,…

时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测

时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测 目录 时序预测 | MATLAB实现TCN-Attention自注意力机制结合时间卷积神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现TCN-Attention自注意力机制结合时…

JVM堆栈的区别、分配内存与并发安全问题、对象定位

一、堆和栈的区别 堆(Heap)和栈(Stack)是两种基本的数据结构,它们在内存管理、程序执行流程控制等方面扮演着重要角色。在编程语言尤其是Java这样的高级语言环境中,堆和栈的概念被用来描述程序运行时的内存…

【嵌入式DIY实例】-Nokia 5110显示DS18B20传感器数据

Nokia 5110显示DS18B20传感器数据 文章目录 Nokia 5110显示DS18B20传感器数据1、硬件准备2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS18B20 数字温度传感器实现简单的温度测量站。 NodeMCU 微控制器 (ESP8266EX) 从 DS18B20 传感器读取温度值,并将其打印在诺基亚 …

UnityAPI学习之延时调用(Invoke)

延时调用(Invoke) 当我们进行简单函数的延时调用不想使用协程时,我们可以使用Invoke()函数 using System.Collections; using System.Collections.Generic; using UnityEngine;public class NO15_Invoke : MonoBehaviour {//显示在每次生成…

【服务的主从切换实现原理】

文章目录 主从架构介绍zookeeper利用ZK实现主从架构 主从架构介绍 主从服务架构是一种常见的分布式系统设计模式,常用于提高系统的性能、可用性和扩展性。在这种架构中,系统中的节点被分为两类:主节点(Master)和从节点…

JVM 类加载器的工作原理

JVM 类加载器的工作原理 类加载器(ClassLoader)是一个用于加载类文件的子系统,负责将字节码文件(.class 文件)加载到 JVM 中。Java 类加载器允许 Java 应用程序在运行时动态地加载、链接和初始化类。 2. 类加载器的工…

Dom案例——计算器,二级联动,表单验证(附完整代码)

Dom案例——计算器,二级联动,表单验证(附完整代码) 文章目录 Dom案例——计算器,二级联动,表单验证(附完整代码)一、计算器案例二、二级联动三、表单验证 一、计算器案例 1、实现计…

vivado HW_VIO

描述 虚拟输入/输出(VIO)调试核心hw_VIO可以监视和驱动内部 在编程的XilinxFPGA上实时显示信号。在没有物理访问的情况下 目标硬件,可以使用此调试功能来驱动和监视 存在于物理设备上。 VIO核心具有硬件探测器hw_probe对象,用于监…

vulhub之httpd篇

Apache 换行解析漏洞(CVE-2017-15715) Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一…

用于工业网络状态监测的Softing plantPerfect Monitor产品亮相2024 ACHEMA

Softing工业在2024年阿赫玛博览会(ACHEMA 2024)上展示了“plantPerfect Monitor”产品。该产品是一种用于对工业网络和现有工业系统进行全面状况监测的创新解决方案。 (“plantPerfect Monitor”提供全面的工业通信网络状态监控) …

单触控单输出触摸开关芯片PT2052A

1.产品概述 PT2052封装和丝印 PT2052A 是一款单通道触摸检测芯片。该芯片内建稳压电路,提供稳定电压给触摸感应电路使用,同时内部集成高效完善的触摸检测算法,使得芯片具有稳定的触摸检测效果。该芯片专为取代传统按键而设计,具有…

Hexapod C-887使用手册 -- 4,5,6

4 - 拆包 小心拆包C-887 根据合同和发货注意比较发货范围的内容: 检查危险符号的内容。如果任何零件损坏或缺失,立即联系客服部门。 保存所有包装材料,以防产品需要返厂。 5 - 安装 本章中 安装一般注意 安装PC软件 确保通风 接地C-…

一键取票,YonSuite商旅费控助力企业“消灭报销”

在数字化与智能化并行的时代,企业商旅管理正经历着前所未有的变革。面对传统商旅出行管理中流程复杂、费用不透明等问题,YonSuite商旅费控以其独特的数智化商旅管理平台,为企业提供了一站式的解决方案,特别是其“一键取票”功能&a…

数据中心布线管理:预标记线缆与移动扫描技术的融合

随着信息技术的飞速发展,数据中心布线管理面临着前所未有的挑战。传统的布线管理方式已无法满足现代数据中心高效、准确和可靠的需求。在这样一个背景下,预标记线缆与移动扫描技术的结合,为数据中心布线管理带来了革命性的解决方案。 布线管理…

Python 五子棋游戏(人人对战人机对战)【含Python源码 MX_006期】

系统简介: 五子棋是一种双人对弈的策略棋类游戏,玩家轮流在棋盘上落子,目标是通过在水平、垂直或对角线上连成一条直线的方式,最先在棋盘上形成连续的五颗棋子。五子棋的规则相对简单,但是需要玩家在落子过程中进行深思…

C++数据结构02 队列及其应用

目录 队列及其特点 利用数组模拟队列的基本操作 创建队列 空队条件 元素入队 元素出队 模拟超市收银问题 队列操作 初始化 入队操作 出队操作 取出队首元素 STL模板中队列的基本使用 训练:约瑟夫问题 参考程序 队列及其特点 队列是一种特殊的线性表&am…

学习笔记——网络管理与运维——SNMP(概述)

一、SNMP概述 1、SNMP背景 SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。 通过网络,管理员可以管理…

一键实现电脑投屏到电视机,轻松享受更大画面

在数字化的今天,我们常常希望在更大的屏幕上分享电脑上的内容,观看视频、展示演示文稿,或者与家人一同欣赏照片。而实现电脑屏幕投射到电视机上,成为了许多人追求的方便而实用的功能。本文将为您详细介绍电脑投屏到电视机的方法&a…