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实现颜色rgb和hex相互转换的函数
Mar 19 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
Python动态生成多维数组的方法示例
Aug 09 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
django ModelForm修改显示缩略图 imagefield类型的实例
Jul 28 Python
python中for循环变量作用域及用法详解
Nov 05 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
Django框架中视图的用法
Jun 10 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小偷的核心程序
2007/04/09 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
python中反射用法实例
2015/03/27 Python
在Python的web框架中配置app的教程
2015/04/30 Python
Python常用小技巧总结
2015/06/01 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
Python循环语句中else的用法总结
2016/09/11 Python
Python学习入门之区块链详解
2017/07/25 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
Python笔记之代理模式
2019/11/20 Python
openCV提取图像中的矩形区域
2020/07/21 Python
5款实用的python 工具推荐
2020/10/13 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
实习求职信
2013/12/01 职场文书
奠基仪式策划方案
2014/05/15 职场文书
职工年度考核评语
2014/12/31 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
企业安全生产规章制度
2015/08/06 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技
服务器间如何实现文件共享
2022/05/20 Servers