List 列表
文章目录
- 一、什么是 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)))# 步长为5print(list(range(0, -10, -1)))# 负数# 起始位置小于等于终止位置显示为空print(list(range(0)))print(list(range(1,0)))- 运行结果:

- 运行结果:
-
- 代码示例:
- range(start, stop[, step]): 搭配 list() 使用,在创建列表时向列表中添加内容
- list(): 创建一个空列表
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 aprint(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] = 50print(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))- 运行结果

- 运行结果
-
- index(value,[start,[end]]): value为传入参数,start和end指定了搜索的范围,如果列表中不存在该参数,或者指定的范围没有改参数,那么报错
-
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] = 1print(y)- 运行结果

- 运行结果
-
- 代码示例:
相关文章:
List 列表
文章目录 一、什么是 List 列表1.1 创建 List 列表的方式1.2 列表的新增函数方法1.3 列表的删除函数方法1.4 修改列表数据的方法1.5 列表的查询函数方法1.6 列表的排序和反序1.7 列表的复制 一、什么是 List 列表 List 列表:该数据类型定义的变量可以理解为是一个数…...
nginx ws长连接配置
nginx ws长连接配置 http根节点下配上 map $http_upgrade $connection_upgrade {default upgrade; close;}如下: server服务节点下,后端接口的代理配置 proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connec…...
Windows下访问wsl的数据
Windows下访问wsl的数据 有些人感受到的是雨,而很多人感受到的只有淋湿。 Windows下的wsl说实话还是挺不错的,对于开发而言,效果相当的可以。 比如在某个文件夹,Windows编辑好代码后,直接右键打开wsl,就可…...
机器学习笔记 - 用于3D数据分类、分割的Point Net简述
一、简述 在本文中,我们将了解Point Net,目前,处理图像数据的方法有很多。从传统的计算机视觉方法到使用卷积神经网络到Transformer方法,几乎任何 2D 图像应用都会有某种现有的方法。然而,当涉及到 3D 数据时,现成的工具和方法并不那么丰富。3D 空间中一个工具就是Point …...
vscode 连接 GitHub
目录 vscode连接github一、解决 github 登录问题二、通过 SSH 连接 github1、只有一个 git 账号2、切换 git 账号3、在两个账号之间切换 vscode 连接 gitee一、通过 HTTPS 连接二、通过 SSH 连接 vscode连接github 在 vscode 中首次使用 git push 命令时会要求输入 github 账户…...
集合java
1.集合 ArrayList 集合和数组的优势对比: 长度可变 添加数据的时候不需要考虑索引,默认将数据添加到末尾 package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 | | p…...
智能体(Agent)实战——从gpts到auto gen
一.GPTs 智能体以大模型作为大脑,同时配备技能,使其能够完成具体的任务。同时,为了应用于垂直领域,我们需要为大模型定义一个角色,并构建知识库。最后,定义完整的流程,使其完成整个任务。以组会…...
PyTorch 张量数据类型
【数据类型】Python 与 PyTorch 常见数据类型对应: 用 a.type() 获取数据类型,用 isinstance(a, 目标类型) 进行类型合法化检测 >>> import torch >>> a torch.randn(2,3) >>> a tensor([[-1.7818, -0.2472, -2.0684],[ 0.…...
奇思妙想-可以通过图片闻见味道的设计
奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲,炭火烧烤乐无边。肉串飘香引客至,笑语欢声绕云间。人生难得几回醉,且把烦恼抛九天。今宵共饮开怀酒,改日再战新篇章。周四的傍晚,难得的闲暇时光让我与几位挚友相…...
装饰者模式(设计模式)
装饰模式就是对一个类进行装饰,增强其方法行为,在装饰模式中,作为原来的这个类使用者还不应该感受到装饰前与装饰后有什么不同,否则就破坏了原有类的结构了,所以装饰器模式要做到对被装饰类的使用者透明,这…...
ADB调试命令大全
目录 前言命令大全1.显示当前运行的全部模拟器:adb devices2.启动ADB: adb start-server3.停止ADB: adb kill-server4.安装应用程序: adb install -r [apk文件]5.卸载应用程序: adb uninstall [packagename]6.将手机设备中的文件copy到本地计…...
查看npm版本异常,更新nvm版本解决问题
首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…...
计算机行业
计算机行业环境分析 2022.01.12 计算机行业环境分析 计算机专业就业前景 随着科技的进步和信息事业的发展,尤其是计算机技术的发展与网络应用的逐渐普及。计算机已成为人们工作和生活中不可缺少的东西。IT行业迅猛发展,就业工作岗位也比比皆是。在最近…...
各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
2023简直被人工智能相关话题席卷的一年。关于机器学习算法的热度,也再次飙升,网络上一些分享已经比较老了。那么今天借着查询和学习的机会,我也来浅浅分享下目前各种机器学习算法及其应用场景。 为了方便非专业的朋友阅读,我会从算…...
SQLite JDBC驱动程序
SQLite JDBC驱动程序下载地址: 下载地址...
Postgre 调优工具pgBadger部署
一,简介: pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助DBA更方便的找到隐含问题。 pgbadger是为了提高…...
【云原生】Kubernetes----Helm包管理器
目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…...
Bootstrap 5 进度条
Bootstrap 5 进度条 引言 Bootstrap 5 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的进度条组件,包括其基本用法、定制选…...
MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统,以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而,在实际使用过程中,可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
