Python 列表(List)操作方法详解
参考文献来源于脚本之家
列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
一、创建一个列表
只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
1 2 3 | <code - pre class = "code-pre" id = "pre-mS65rR" ><code - line class = "line-numbers-rows" >< / code - line>list1 = [ 'physics' , 'chemistry' , 1997 , 2000 ]; <code - line class = "line-numbers-rows" >< / code - line>list2 = [ 1 , 2 , 3 , 4 , 5 ]; <code - line class = "line-numbers-rows" >< / code - line>list3 = [ "a" , "b" , "c" , "d" ];< / code - pre> |
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
二、访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
1 2 3 4 5 6 7 8 | <code - pre class = "code-pre" id = "pre-APD7BK" ><code - line class = "line-numbers-rows" >< / code - line> #!/usr/bin/python <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line>list1 = [ 'physics' , 'chemistry' , 1997 , 2000 ]; <code - line class = "line-numbers-rows" >< / code - line>list2 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]; <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> print "list1[0]: " , list1[ 0 ] <code - line class = "line-numbers-rows" >< / code - line> print "list2[1:5]: " , list2[ 1 : 5 ]< / code - pre> |
以上实例输出结果:
1 2 | <code - pre class = "code-pre" id = "pre-4psrD3" ><code - line class = "line-numbers-rows" >< / code - line>list1[ 0 ]: physics <code - line class = "line-numbers-rows" >< / code - line>list2[ 1 : 5 ]: [ 2 , 3 , 4 , 5 ]< / code - pre> |
三、更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
1 2 3 4 5 6 7 8 9 10 | <code - pre class = "code-pre" id = "pre-YnSpwK" ><code - line class = "line-numbers-rows" >< / code - line> #!/usr/bin/python <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> list = [ 'physics' , 'chemistry' , 1997 , 2000 ]; <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> print "Value available at index 2 : " <code - line class = "line-numbers-rows" >< / code - line> print list [ 2 ]; <code - line class = "line-numbers-rows" >< / code - line> list [ 2 ] = 2001 ; <code - line class = "line-numbers-rows" >< / code - line> print "New value available at index 2 : " <code - line class = "line-numbers-rows" >< / code - line> print list [ 2 ];< / code - pre> |
以上实例输出结果:
代码如下:
1 2 3 4 | <code - pre class = "code-pre" id = "pre-8GG6em" ><code - line class = "line-numbers-rows" >< / code - line>Value available at index 2 : <code - line class = "line-numbers-rows" >< / code - line> 1997 <code - line class = "line-numbers-rows" >< / code - line>New value available at index 2 : <code - line class = "line-numbers-rows" >< / code - line> 2001 < / code - pre> |
四、删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
1 2 3 4 5 6 7 8 9 | <code - pre class = "code-pre" id = "pre-cRXfXK" ><code - line class = "line-numbers-rows" >< / code - line> #!/usr/bin/python <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line>list1 = [ 'physics' , 'chemistry' , 1997 , 2000 ]; <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> print list1; <code - line class = "line-numbers-rows" >< / code - line> del list1[ 2 ]; <code - line class = "line-numbers-rows" >< / code - line> print "After deleting value at index 2 : " <code - line class = "line-numbers-rows" >< / code - line> print list1;< / code - pre> |
以上实例输出结果:
1 2 3 | <code - pre class = "code-pre" id = "pre-PAbDdr" ><code - line class = "line-numbers-rows" >< / code - line>[ 'physics' , 'chemistry' , 1997 , 2000 ] <code - line class = "line-numbers-rows" >< / code - line>After deleting value at index 2 : <code - line class = "line-numbers-rows" >< / code - line>[ 'physics' , 'chemistry' , 2000 ]< / code - pre> |
五、Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
六、Python列表截取
Python的列表截取与字符串操作类型,如下所示:
1 2 | <code - pre class = "code-pre" id = "pre-cbwTAb" ><code - line class = "line-numbers-rows" >< / code - line>L = [ 'spam' , 'Spam' , 'SPAM!' ] < / code - pre> |
操作:
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 'SPAM!' | 读取列表中第三个元素 |
L[-2] | 'Spam' | 读取列表中倒数第二个元素 |
L[1:] | ['Spam', 'SPAM!'] | 从第二个元素开始截取列表 |
七、Python列表操作的函数和方法
列表操作包含以下函数:
1 2 3 4 5 | <code - pre class = "code-pre" id = "pre-55PCA7" ><code - line class = "line-numbers-rows" >< / code - line> 1 、 cmp (list1, list2):比较两个列表的元素 <code - line class = "line-numbers-rows" >< / code - line> 2 、 len ( list ):列表元素个数 <code - line class = "line-numbers-rows" >< / code - line> 3 、 max ( list ):返回列表元素最大值 <code - line class = "line-numbers-rows" >< / code - line> 4 、 min ( list ):返回列表元素最小值 <code - line class = "line-numbers-rows" >< / code - line> 5 、 list (seq):将元组转换为列表< / code - pre> |
列表操作包含以下方法:
1 2 3 4 5 6 7 8 9 | <code - pre class = "code-pre" id = "pre-C8PPME" ><code - line class = "line-numbers-rows" >< / code - line> 1 、 list .append(obj):在列表末尾添加新的对象 <code - line class = "line-numbers-rows" >< / code - line> 2 、 list .count(obj):统计某个元素在列表中出现的次数 <code - line class = "line-numbers-rows" >< / code - line> 3 、 list .extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) <code - line class = "line-numbers-rows" >< / code - line> 4 、 list .index(obj):从列表中找出某个值第一个匹配项的索引位置 <code - line class = "line-numbers-rows" >< / code - line> 5 、 list .insert(index, obj):将对象插入列表 <code - line class = "line-numbers-rows" >< / code - line> 6 、 list .pop(obj = list [ - 1 ]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 <code - line class = "line-numbers-rows" >< / code - line> 7 、 list .remove(obj):移除列表中某个值的第一个匹配项 <code - line class = "line-numbers-rows" >< / code - line> 8 、 list .reverse():反向列表中元素 <code - line class = "line-numbers-rows" >< / code - line> 9 、 list .sort([func]):对原列表进行排序< / code - pre> |
__EOF__

本文链接:https://www.cnblogs.com/still-smile/p/11586394.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个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应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架