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实现全局变量的两个解决方法
Jul 03 Python
Python中如何获取类属性的列表
Dec 26 Python
python的文件操作方法汇总
Nov 10 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
对Python信号处理模块signal详解
Jan 09 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
如何在django中运行scrapy框架
Apr 22 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
python turtle绘图
May 04 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程序员的13个好习惯小结
2012/02/20 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
vue实现分页组件
2020/06/16 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
TensorFlow变量管理详解
2018/03/10 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
Python实现的特征提取操作示例
2018/12/03 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
计算机专业毕业生自荐书
2014/06/02 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
主题班会开场白
2015/06/01 职场文书
吴仁宝观后感
2015/06/09 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Pandas 稀疏数据结构的实现
2021/07/25 Python
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
Java完整实现记事本代码
2022/06/16 Java/Android