列表相关操作
一、列表的创建
1、列表需要使用中括号 [] 和 , 元素之间使用英文的逗号进行分隔
2、列表的创建方式有两种
- 使用中括号
- 调用内置函数list()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #列表的创建 #第一种方法:使用中括号 mylist=[ 'hello' , 'world' ,98] print(id(mylist)) print(type(mylist)) print(mylist) #第二种方法:调用内置函数list() mylist2=list([ 'hello' , 'world' ,98]) print(id(mylist2)) print(type(mylist2)) print(mylist2) 运算结果: 2610096938048 < class 'list' > [ 'hello' , 'world' , 98] 2610096986688 < class 'list' > [ 'hello' , 'world' , 98] |
二、列表的特点
1、列表的元素按顺序有排序
2、索引映射唯一数据
- 顺序从0开始
- 逆序从-1开始
3、列表可以存储重复数据
4、任意数据类型混存
5、根据需要动态分配和回收内存
三、列表的查询操作
1、获取列表中的指定元素的索引
- 如果列表中存在N个相同元素,只返回相同元素中的第一个元素的索引
- 如果查询的元素在列表中不存在,则会抛出ValueError
- 还可以在指定的start和stop之间进行查找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #列表的查找 mylist3=[ 'hello' , 'world' ,98, 'hello' ] print(mylist3) print(mylist3.index( 'hello' )) #rint(mylist3.index('sha')) 报错:ValueError: 'sha' is not in list #可以在index中指定查找范围 【a,b) #print(mylist3.index('hello',1,3)) 报错:NameError: name 'hello' is not defined(因为在该范围内没有找到) print(mylist3.index( 'hello' ,1,4)) 运行结果: [ 'hello' , 'world' , 98, 'hello' ] 0 3 |
2、获取列表中的单个元素
正向索引从0到N-1 举例:lst[0]
逆向索引从-N到-1 举例:lst[-N]
指定索引不存在 抛出异常indexError
3、获取列表中的多个元素——切片
- 语法格式:【start : stop : step】
- 切片操作:
- 切片结果:原列表片段的拷贝——生成新的列表
- 切片的范围:【start , stop)
- step默认为1:简写为[start:stop]
- step为正数:从start开始向后计算切片
- step为负数:从start开始向前计算切片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | lst=[10,20,30,40,50,60,70,80] #start=1,stop=6,step=1 print(lst[1:6:1]) #lst的标号从0开始,sto=6其实是第七个元素,但是不包含该数据 #切片是产生了一个新的列表,可以发现两者id值不一样,说明产生了一个新的列表 print( '原列表' ,id(lst)) lst2=lst[1:6:1] print( '现列表' ,id(lst2)) #查看默认步长 print(lst[0:6:]) #[10, 20, 30, 40, 50, 60]可以发现默认步长为1 #设置步长 print(lst[1:6:2]) #[20, 40, 60] #查看默认开始位置 print(lst[:6:]) #[10, 20, 30, 40, 50, 60]可以发现默认开始位置为0 #设置开始位置 print(lst[2:6:1]) #[30, 40, 50, 60] #查看默认结束位置 print(lst[1::1]) #[20, 30, 40, 50, 60, 70, 80]可以发现默认结束位置是整个列表 #全部设置默认 print(lst[::]) #[10, 20, 30, 40, 50, 60, 70, 80]相当于对列表的一次复制 #如果步长为负数-从后向前 print(lst[::-1]) #[80, 70, 60, 50, 40, 30, 20, 10] print(lst[7:0:-1])#[80, 70, 60, 50, 40, 30, 20] 结尾到0但不包括0 |
4、判断指定元素在列表中是否存在
元素 in 列表名
元素 in 列表名
1 2 3 4 5 6 7 8 9 10 | print( 'k' in 'kotlin' )#True print( 'k' in 'python' )#False lst=[10,20, 'hello' , 'python' ] print(10 in lst) #True print(100 in lst) #False print(10 not in lst) #False print(100 not in lst)#True |
5、列表元素的遍历
1 2 3 4 5 6 7 8 9 10 | #列表的遍历,用for循环 for i in lst: print(i) 运算结果: 10 20 hello python |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)