当前位置: 移动技术网 > IT编程>脚本编程>Python > Python 列表list使用介绍

Python 列表list使用介绍

2019年03月24日  | 移动技术网IT编程  | 我要评论

2013金话筒颁奖晚会,柳岩真空透视,文艺句子

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

定义

>>> 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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网