Python 列表list使用介绍


Posted in Python onNovember 30, 2014
一组有序项目的集合
可变的数据类型【可进行增删改查】
列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】
列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔
列表可通过序号访问其中成员

定义

>>> l = [] #空列表
>>> l = [1,2,3]
>>> l = [1,2,3,['a','b']]
>>> l = list('linuxeye')
>>> l
['l', 'i', 'n', 'u', 'x', 'e', 'y', 'e']
>>> l = list(range(5))
>>> l
[0, 1, 2, 3, 4]
>>> l = '1;2;3;4;5'.split(';')
>>> l
['1', '2', '3', '4', '5']

内建函数list(a_sequence) 可以将一个序列转为列表

索引
正索引是编号是从左到右,0开始;负索引编号是从右往左,-1、-2 …;取范围值都是从左至右

>>> LanguageList = ['Python','Shell','Perl','PHP','java','C',"C++","Lisp"]
>>> LanguageList[0] #取第一个值
'Python'
>>> LanguageList[3] #第四个值
'PHP'
>>> LanguageList[3:]
['PHP', 'java', 'C', 'C++', 'Lisp']
>>> LanguageList[:3]
['Python', 'Shell', 'Perl']
>>> LanguageList[2:5]
['Perl', 'PHP', 'java']
>>> LanguageList[-1] #倒数第一个值
'Lisp'
>>> LanguageList[-2] #倒数第二个值
'C++'
>>> LanguageList[-5:]
['PHP', 'java', 'C', 'C++', 'Lisp']
>>> LanguageList[-5:-2]
['PHP', 'java', 'C']
>>> LanguageList[:-2]
['Python', 'Shell', 'Perl', 'PHP', 'java', 'C']

增加元素

>>> LanguageList
['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp']
>>> LanguageList.append('GO')
>>> LanguageList
['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']
>>> LanguageList.insert(3,'Python') #往PHP元素前插入
>>> LanguageList
['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']
>>> LanguageList.extend(['Ruby','C#'])
>>> LanguageList
['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']

搜索

>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']
>>> LanguageList.index('Python')
0
>>> LanguageList.index('C')
6
>>> LanguageList.index('c')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: list.index(x): x not in list
>>> 'c' in LanguageList
False
>>> LanguageList.index('Python') #统计一个元素的出现次数
2

删除元素

>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']
>>> LanguageList.remove('C')
>>> LanguageList.remove('Python')
>>> LanguageList.remove('c')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> LanguageList.pop()
'C#'
>>> LanguageList
['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']
>>> LanguageList.pop(-2)
['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'Ruby']
>>> del LanguageList[-3:-1]
>>> LanguageList
['Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']

remove从列表中只删除一个值的首次出现。
pop会做两件事: 删除列表的最后一个元素, 然后返回删除元素的值。

修改元素

>>> LanguageList = ['Python','Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']
>>> LanguageList[-2] = 'C'
>>> LanguageList
['Python', 'Shell', 'Perl', 'Python', 'PHP', 'C', 'Ruby']
>>> LanguageList[LanguageList.index('C')] = 'JAVA'
>>> LanguageList
['Python', 'Shell', 'Perl', 'Python', 'PHP', 'JAVA', 'Ruby']

运算符

>>> LanguageList
['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']
>>> LanguageList = LanguageList + ['Python','C']
>>> LanguageList
['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C']
>>> LanguageList += ['java']
>>> LanguageList
['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C', 'java']
>>> NumList = [1,2,3] * 3
>>> NumList
[1, 2, 3, 1, 2, 3, 1, 2, 3]

排序

>>> NumList = [2,5,3,6,1,4]
>>> NumList.reverse()
>>> NumList
[4, 1, 6, 3, 5, 2]
>>> NumList[::-1] #和reverse效果相同
>>> NumList
[2, 5, 3, 6, 1, 4]
>>> NumList.sort()
>>> NumList
[1, 2, 3, 4, 5, 6]

sort可接受参数

cmp,比较函数,接受两个参数,小于时返回负,大于返回正,相等返回0
key,指定排序键
reverse,指定是否反序

列表的比较操作 , 隐式调用cmp方法 , 比较规则是逐个扫描元素进行比较, 如果可以比较 , 则比较, 如果相等扫描下一个元素 , 如果不相等返回结果 , 如果两个元素类型不可以比较 , 就比较两个对象的 id()值。如果一直相等 ,直到一个列表扫描结束 , 那么返回较长的列表较大

>>> L = [(13,54),(11,59),(15,55),(12,57),(10,56)]
>>> L.sort(key=lambda x:x[1])
>>> L
[(13, 54), (15, 55), (10, 56), (12, 57), (11, 59)]
>>> L.sort(key=lambda x:x[1],reverse=1) #或者reverse=True
>>> L
[(11, 59), (12, 57), (10, 56), (15, 55), (13, 54)]

sort与sorted函数区别

NumList = [2, 5, 3, 6, 1, 4]
>>> sorted(NumList)
[1, 2, 3, 4, 5, 6]
>>> NumList
[2, 5, 3, 6, 1, 4]
>>> NumList.sort()
>>> NumList
[1, 2, 3, 4, 5, 6]

sort: 在原list上排序,不返回排序后的list
sorted: 不改变原list,返回排序后的list

Python 相关文章推荐
python实现RSA加密(解密)算法
Feb 17 Python
Python图算法实例分析
Aug 13 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
python中字符串内置函数的用法总结
Sep 13 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
python实现维吉尼亚算法
Mar 20 Python
python assert的用处示例详解
Apr 01 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
python实现图片素描效果
Sep 26 Python
python 生成器需注意的小问题
Sep 29 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 Python
Python 字典dict使用介绍
Nov 30 #Python
Python 序列化 pickle/cPickle模块使用介绍
Nov 30 #Python
Linux下Python获取IP地址的代码
Nov 30 #Python
Python re模块介绍
Nov 30 #Python
Python os模块介绍
Nov 30 #Python
Python实现的检测网站挂马程序
Nov 30 #Python
Python实现网站文件的全备份和差异备份
Nov 30 #Python
You might like
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
面向对象的javascript(笔记)
2009/10/06 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
vue实现局部刷新的实现示例
2019/04/16 Javascript
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python中return self的用法详解
2018/07/27 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
Python实现分数序列求和
2020/02/25 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
期中考试复习计划
2015/01/19 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
Python极值整数的边界探讨分析
2021/09/15 Python
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫