Python基础【day02】:列表(三)
本节内容
0、列表常用功能汇总
1、定义列表
2、访问列表中的元素
3、切片
4、追加
5、插入
6、修改
7、拷贝
8、删除
9、扩展
10、统计
11、翻转
12、排序
13、获取下标值
14、清空列表
列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
0、列表常用功能汇总
1、定义列表
1 2 | >>> name = [] #定义空列表 >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] #定义一个非空列表 |
2、访问列表中的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> name = [] >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name[ 0 ] 'luoahong' >>> name[ 1 ] 'chenqun' >>> name[ 2 ] 'wenhai' >>> name[ 3 ] 'daiqiao' >>> name[ - 1 ] #倒着取最后一个值 'guiwei' >>> name[ - 2 ] 'xiedi' |
注:列表的下标值是从0开始取值的
3、切片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name[ 1 : 3 ] [ 'chenqun' , 'wenhai' ] >>> name[ 1 : - 1 ] [ 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' ] >>> name[ 0 : 3 ] [ 'luoahong' , 'chenqun' , 'wenhai' ] >>> name[: 3 ] [ 'luoahong' , 'chenqun' , 'wenhai' ] >>> name[ 3 :] [ 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name[: 2 ] [ 'luoahong' , 'chenqun' ] >>> name[:: 2 ] [ 'luoahong' , 'wenhai' , 'xiedi' ] |
切片小结:
①序列始终都是从左向右切片的,不能是从右向左
①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])
②如果从0位置取值,0可以省略
③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空
4、追加(append(元素))
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.append( "liuhailin" ) >>> name [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' , 'liuhailin' ] #liuhailin是新加的 |
5、插入(insert(下标值,插入的内容))
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.insert( 0 , "liyang" ) #0表示需要插入的下标值,'1'表示插入的内容 >>> name [ 'liyang' , 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] #在下标值为0的地方插入liyang |
6、修改
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name[ 1 ] = 'chenqundage' >>> name [ 'luoahong' , 'chenqundage' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] |
注:修改列表中的元素,直接是 names[下标值] = 新值
7、拷贝(copy())
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name2 = name.copy() >>> name2 [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] |
注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:
8、删除(del、remove(元素)、pop())
1 2 3 4 5 6 7 8 9 10 11 12 13 | #根据下标值删除元素<br>>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei'] >>> del name[ 0 ] >>> name [ 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ]<br> #根据元素删除 >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.remove( 'xiedi' ) >>> name [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'guiwei' ]<br> #删除最后一个 >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.pop() 'guiwei' >>> >>> |
注:
①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.pop( 1 ) #在输入下标值得情况下和del的效果是一样的<br>'chenqun' >>> name [ 'luoahong' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] |
②del关键字不仅可以删除列表中的元素,也可以删除变量
1 2 3 4 5 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ]<br> #删除name这个变量<br> del name >>> name Traceback (most recent call last): File "<stdin>" , line 1 , in <module> NameError: name 'name' is not defined |
注:
①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
②del关键字不仅可以删除列表中的元素,也可以删除变量
9、扩展(extend)
1 2 3 4 5 | >>> name1 = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name2 = [ '1' , '2' , '3' , '4' , '5' , '6' ] >>> name1.extend(name2) >>> name1 [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' , '1' , '2' , '3' , '4' , '5' , '6' ] |
注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可
10、统计(count(元素))
1 2 3 | >>> name1 = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'chenqun' , 'xiedi' , 'guiwei' , 'chenqun' ] >>> name1.count( 'chenqun' ) #统计元素'chenqun'元素的个数 3 |
11、翻转(reverse())
1 2 3 4 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.reverse() >>> name [ 'guiwei' , 'xiedi' , 'daiqiao' , 'wenhai' , 'chenqun' , 'luoahong' ] #将整个列表翻转过来 |
12、排序(sort())
1 2 3 4 | >>> name = [ '4' , '3' , '2' , '1' ] >>> name.sort() >>> name [ '1' , '2' , '3' , ' 4 |
|
13、获取下标值(index(元素))
1 2 3 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.index( 'chenqun' ) 1 |
14、清空列表(clear())
1 2 3 4 5 | >>> name = [ 'luoahong' , 'chenqun' , 'wenhai' , 'daiqiao' , 'xiedi' , 'guiwei' ] >>> name.clear() NameError: name 'names' is not defined >>> name [] |
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
分类:
1.Python基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构