Python之List列表
序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內建型別,但最常見的是列表和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python已經內建確定序列的長度以及確定最大和最小的元素的方法。
列表是最常用的Python資料型別,它可以作為一個方括號內的逗號分隔值出現。
列表的資料項不需要具有相同的型別,靈活度較高。
python的list是可變資料型別,它支援新增 append、插入 insert、修改、刪除del等操作。
==============================================================================================================
一、列表的建立
1. 建立空列表:
list=[]
listName=list()
2. 可以把python中的list列表理解為任意對像的序列,只要把需要的引數值放入到中括號[ ]裡面就可以了,就像下面這樣操作:
names = ['ada','amy','ella','sandy']
列表可以包含不同型別對像,也支援巢狀(多維陣列):
例:a = ['a',567,['adc',4,[12,'a']],(1,2)]
這個列表中就包含了字串、整型、元組這些元素,同時還嵌套了一個列表。
二、新增新元素
1. list.append
例:name.append('4ds')
2. list.insert(100,'4ds') 在指定位置新增元素,如果指定的下標不存在,那麼就是在末尾新增
3. list1.extend(list2) 合併兩個list list2中仍有元素
例:list1=['a','b','c',0]
list2=[1,2,3,'d',6]
list1.extend(list2)
print(list1) ====>['a','b','c',0,1,2,3,'d',6]
三、修改更新
listName[7]='haha' #更新第8個元素的值為:haha
print('updated',listName)
四、檢視列表長度
print('列表的長度是:',len(list1)) #返回列表中元素總個數 ===》9
五、檢視列表中的值
1. 列表是有序的,可以通過python list下標來修改特定位置的值。
name = ['0test1','1yrd','2sdfh','3sdf']
print(name[2]) #查詢下標為2的元素 ===》2sdfh
print(name[-1]) #索引取負數時,從最後一個元素開始查詢 ===》3sdf
2. 遍歷列表 (詳情參見list迴圈、切片)
例1:
mylist = [1,2,3,4]
for i in mylist:
print(i)
等同於:
例2:mylist = [1,2,3,4]
for i in range(len(mylist))
print(mylist[i]) 每個元素都有一個地址
3. 檢視某個元素在列表中出現的次數(個數)
print(list.count(‘xx’)) 檢視某個元素在這個列表裡的個數,如果該元素不存在,那麼返回0
4. 檢視某個元素的下標、索引值
print(list.index(‘xx’))找到這個元素的下標(索引),如果有多個,返回第一個,如果找一個不存在的元素會報錯
六、刪除列表中的元素及列表刪除
1. list.pop() 刪除最後一個元素,有返回值,返回被刪除的元素
2. list.pop(n)指定下標,刪除指定的元素,如果刪除一個不存在的元素會報錯
3. list.remove(xx) 刪除list 裡面的一個元素,有多個相同的元素,刪除第一個 ;無返回值,顯示None
4. del list[n] 刪除指定下標對應的元素 ,n為負數時,從最後一個元素開始找起
5. del list 刪除整個列表, list刪除後無法訪問
6. list.clear() 清空列表,返回一個空列表
七、反轉和排序
1. list.reverse() 將列表反轉
2. list.sort()排序,預設升序且只能對同資料型別的列表進行排序,否則報錯
如:
mylist = ['b','wwds','a','912d','5wer']
mylist.sort()
print(mylist) ===》['5wer', '912d', 'a', 'b', 'wwds']
3. list.sort(reverse=True) 降序排列 ==>['wwds', 'b', 'a', '912d', '5wer']
注:list 中有字串,數字時不能排序,排序針對同類型
八、布林值,返回true或者fales
print(1<2) ==》True