列表[0] 數字索引位置 通過此可對列表元素進行調換
>>> a = empty[3][1]
>>> print(a)
小西瓜
二、列表的刪除
1 remove()
member.remove('元素名')
2 del (del爲語句,並非函數BIF)
>>> member = ['大傻子','二傻子','三傻子','四傻子']
>>> del member[2]
>>> member
['大傻子', '二傻子', '四傻子']
>>> del member
>>> member
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
member
NameError: name 'member' is not defined
3 pop() (member.pop()默認刪除列表最後一個元素) (pop操作將抽取元素,有反饋值)
三、列表的分片slice (對原列表的拷貝,不影響原)
>>> member[0:2]
['大傻子', '二傻子']
>>> member
['大傻子', '二傻子', '三傻子', '四傻子']
>>> member[:3]
['大傻子', '二傻子', '三傻子']
對列表進行分片拷貝
四、列表的元素插入
1 append
列表名.append('1561')
2 extend 可插入兩個(用一個列表來擴展原列表)
>>> empty = []
>>> empty.extend(['大傻子','二傻子'])
>>> empty
['大傻子', '二傻子']
3 insert 插入到原列表的指定位置
>>> member = ['小小','大大']
>>> member.insert(1,'中中')
>>> member
['小小', '中中', '大大']
1 列表的比較
只比較第一個元素
2 列表相加
兩列表進行拼接(類似於extend)
3 列表的乘法
>>> list1 = [123,456]
>>> list1 *3
[123, 456, 123, 456, 123, 456]
4 成員關係操作符
>>> list1 = [123,456]
>>> 123 in list1
True
>>> 1 not in list1
True
>>> list3 = [12,23,34,[1,2,3]]
>>> 1 in list3[3]
True
5 與列表相關的BIF
①count() list1.count('元素名')
②index() (索引)反饋元素所在位置 只記第一個出現的位置
共三個參數 1目標元素 2開始位置 3結束位置
>>> list5.index(3)
3
>>> list5.index(3,4,8)
6
③reverse() (反轉)將列表元素位置反轉
>>> list2 = [1,2,3,4,5,6]
>>> list2.reverse()
>>> list2
[6, 5, 4, 3, 2, 1]
④sort() 排序,默認從小到大
共三個參數 前兩個默認,第三個參數爲reverse(默認reverse=False)
>>> list3.sort()
>>> list3
[0, 2, 4, 5, 8, 12, 35, 48]
>>> list3.sort(reverse=True)
>>> list3
[48, 35, 12, 8, 5, 4, 2, 0]
⑤join()
str.join(list)
>>> b = ','.join(a)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
b = ','.join(a)
TypeError: sequence item 0: expected str instance, int found
>>> a = ['1','3','5','7']
>>> b = ','.join(a)
>>> b
'1,3,5,7'
>>>
6.列表推導式
(1)使用列表推導式實現嵌套列表的平鋪
>>> vec = [[1,2,3],[4,5,6],[7,8,9]]
>>> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
(2)矩陣的轉置
>>> mat = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
>>> [[row[i] for row in mat] for i in range(4)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
>>> list(zip(*mat))
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
(3)過濾元素
>>> alist = [10,-2,5.6,-9.5,33,-5]
>>> [i for i in alist if i > 0]
[10, 5.6, 33]
>>>
(4)在列表推導式中使用多個循環,實現多序列元素的任意組合,並且可以結合條件語句過濾特定元素。
>>> [(x,y) for x in [1,2,3] for y in range(2,5) if x!=y]
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 2), (3, 4)]
>>>
(5)列表推導式支持文件對象迭代。
f = open('C:\xxxx.txt','r')
print([line for line in f])
f.close()
7.zip()
class zip(object)
zip(iter1 [,iter2 [...]]) --> zip object
返回[(seq1[0],seq2[0]...),(seq1[1],seq2[1]...),(..)..]形式的列表