Python 列表list使用介绍
admin
2023-07-31 02:10:39
0
一组有序项目的集合
可变的数据类型【可进行增删改查】
列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】
列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔
列表可通过序号访问其中成员

定义

>>> 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 \"\", line 1, in 
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 \"\", line 1, in 
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

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...