列表
- 任意對象的有序集合
- 通過偏移量讀取
- 可變長度、異構(可包含任何類型的對象)以及任意嵌套
- 屬於可變序列的分類
- 對象引用數組(即列表本身存儲的只是對象的引用)
1.常用列表常量及操作
操作 | 解釋 | 備註 |
---|---|---|
L = [] | 一個空列表 | |
L = [0,1,2,3] | 四項:索引爲0到3 | |
L = [‘abc’,[‘def’,’ghi’]] | 嵌套的子列表 | |
L = list(‘spam’) L = list(range(-4,4,1)) |
將字符串生成爲列表 將數字轉換爲列表 |
|
L[i] L[i][j] L[i: j:k] len(L) |
索引 索引的索引 分片 求長度 |
L = [‘a’,’da’,’fdgs’,’sffgdg’,’hhh’] print L[3] print L[3][1: -1:2] 結果 sffgdg fg |
L1+L2 | 合併 | |
L*3 | 重複 | |
for x in L:print(x) 3 in L |
迭代 成員關係 |
|
L.append(4) L.extend([5,6,7]) L.insert(index,object) L.index(value) L.count(x) L.sort() L.reverse() |
末位插入4 末位插入[5,6,7] 在index位插入值object 獲取value的索引號 返回x出現的次數 排序 反轉 |
|
del L[k] del L[i:j] L.pop() L.remove(2) L[i:j] = [] |
刪除 分片刪除 返回值,並刪除該值 刪除值2 |
L.pop()默認取出並刪除最後一個元素 |
L[i] = 1 L[i:j] = [4,5,6] |
索引賦值 分片賦值 |
|
L=[x**2 for x in range(5)] | 列表解析 | L = [x**2 for x in range(5)] print L 結果 [0, 1, 4, 9, 16] |
list(map(ord,’spam’)) | list(map(abs,[-1,-2])) 結果 [1,2] |
2.列表操作的一些tips
1)索引、分片和矩陣
>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>> matrix[1]
[4, 5, 6]
>>> matrix[1][2]
6
>>> matrix[0][:-1]
[1, 2]
2)原處修改列表
>>> L=['spam',"SPAM",'''Spam''']
>>> L[0:2]=['eat','egg','more']
>>> L
['eat', 'egg', 'more', 'Spam']
>>> L.append('please')
>>> L
['eat', 'egg', 'more', 'Spam', 'please']
>>> L.sort(key=str.lower,reverse=True)
>>> L
['Spam', 'please', 'more', 'egg', 'eat']