Python 列表(List)操作方法详解


Posted in Python onMarch 11, 2014

列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

一、创建一个列表
只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
二、访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
#!/usr/bin/pythonlist1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

以上实例输出结果:
list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

三、更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2];
list[2] = 2001;
print "New value available at index 2 : "
print list[2];

以上实例输出结果:

Value available at index 2 :
1997
New value available at index 2 :
2001

四、删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1;
del list1[2];
print "After deleting value at index 2 : "
print list1;

以上实例输出结果:
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

五、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的列表截取与字符串操作类型,如下所示:
L = ['spam', 'Spam', 'SPAM!']

操作:
Python 表达式 结果 描述
L[2] 'SPAM!' 读取列表中第三个元素
L[-2] 'Spam' 读取列表中倒数第二个元素
L[1:] ['Spam', 'SPAM!'] 从第二个元素开始截取列表

七、Python列表操作的函数和方法
列表操作包含以下函数:
1、cmp(list1, list2):比较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序
Python 相关文章推荐
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
Python中用于计算对数的log()方法
May 15 Python
浅析Python基础-流程控制
Mar 18 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
理解python中生成器用法
Dec 20 Python
《Python学习手册》学习总结
Jan 17 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
python打开文件的方式有哪些
Jun 29 Python
Python进行统计建模
Aug 10 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 Python
Python基本数据类型详细介绍
Mar 11 #Python
常用python数据类型转换函数总结
Mar 11 #Python
python读取csv文件示例(python操作csv)
Mar 11 #Python
Python help()函数用法详解
Mar 11 #Python
python操作日期和时间的方法
Mar 11 #Python
Python 字符串操作方法大全
Mar 11 #Python
Python去掉字符串中空格的方法
Mar 11 #Python
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
python字典多条件排序方法实例
2014/06/30 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
Python实现学校管理系统
2018/01/11 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
python递归全排列实现方法
2018/08/18 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
linux比较文件内容的命令是什么
2013/03/04 面试题
什么是GWT的Entry Point
2013/08/16 面试题
统计员岗位职责
2013/11/14 职场文书
美术专业个人自我评价
2014/01/18 职场文书
参观接待方案
2014/03/17 职场文书
交通事故和解协议书
2014/09/25 职场文书
司机个人年终总结
2015/03/03 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis