一、列表的定义
python的列表是任意对象的有序集合。从功能上看,列表就是收集其他对象的地方,你可以把他们看作组,同时列表维护了其中每一项从左到右的位置顺序(也就是说,它们是序列)
二、序列的操作
- 索引
>>> L = [123,'spam',1.23]
>>> L[0]
123
- 分片
>>> L[:2]
[123, 'spam']
- 拼接
>>> L+[4,5,6]
[123, 'spam', 1.23, 4, 5, 6]
- 重复
>>> L*2
[123, 'spam', 1.23, 123, 'spam', 1.23]
三、列表方法
L.append(4) 尾部添加
L.extend([5,6,7]) 尾部扩展
L.insert(i,x) 插入
L.index(x) 索引
L.count(X) 统计元素出现的次数
L.sort() 排序
L.reverse() 反转
L.copy() 复制
L.clear() 清除
L.pop(i) 删除i处元素,并将其返回
L.remove(X) 删除元素X
- 列表方法示例:增加元素append
>>> L = ['eat','more','SPAM']
>>> L.append('please')
>>> L
['eat', 'more', 'SPAM', 'please']
- 列表方法示例:排序sort
list.sort(func=None, key=None, reverse=False(or True))
key 参数用来在进行比较之前指定每个列表元素上要调用的函数。
reverse这个bool类型参数,当reverse=False时:为正向排序;当reverse=True时:为方向排序。默认为False。
sort方法执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点。为了避免混乱,其会返回none
>>> L=['abc','ABD','aBe']
>>> L.sort()
>>> L
['ABD', 'aBe', 'abc']
----
>>> L=['abc','ABD','aBe']
>>> L.sort(key=str.lower)
>>> L
['abc', 'ABD', 'aBe']
----
>>> L=['abc','ABD','aBe']
>>> L.sort(key=str.lower, reverse=True)
>>> L
['aBe', 'ABD', 'abc']
- 列表方法示例:扩展、查找索引值、插入、翻转、统计、删除
>>> L=[1,2]
>>> L.extend([3,4,5])
>>> L
[1, 2, 3, 4, 5]
----
>>> L = ['spam','eggs','ham']
>>> L.index('eggs')
1
----
>>> L = ['spam','eggs','ham']
>>> L.insert(1,'toast')
>>> L
['spam', 'toast', 'eggs', 'ham']
----
>>> L = [1,2,3,4]
>>> L.reverse()
>>> L
[4, 3, 2, 1]
----
>>> L = ['spam','spam','eggs','ham']
>>> L.count('spam')
2
----
>>>L = ['spam', 'toast', 'eggs', 'ham']
>>> L.pop(1) #Delete by position
'toast'
>>> L
['spam', 'eggs', 'ham']
>>> L.remove('eggs') #Delete by value
>>> L
['spam', 'ham']
四、嵌套与列表推导式
- 嵌套
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> M[1]
[4, 5, 6]
>>> M[1][2]
6
- 推导:列表推导表达式
列表推导式是一种通过对序列中的每一项运行一个表达式来创建一个新的列表的方法。列表推导是编写在方括号中的,并且由使用了同一个变量名的表达式和循环结构组成。
>>> diag = [M[i][i] for i in [0,1,2]]
>>> diag
[1, 5, 9]
网友评论