一、什麼是列表 列表是一系列數據的集合 二、列表的引用 首先定義一個列表 1 names=["alex","bob","alice","jim"] 列表引用: name[0] name[1] print(name[3]) 三、列表操作 1.查詢列表元素 ①利用下標輸出列表元素 ②查找元素所在位置:i ...
一、什麼是列表
列表是一系列數據的集合
二、列表的引用
首先定義一個列表
1 names=["alex","bob","alice","jim"]
View Code
列表引用:
name[0]
name[1]
print(name[3])
View Code
三、列表操作
1.查詢列表元素
①利用下標輸出列表元素
print(names[0]) #輸出列表第一個元素
print(names[0:5]) #輸出列表前五個元素(顧頭不顧尾)
print(names[-1]) #輸出列表最後一個元素
print(names[-4:-1])#輸出列表倒數第四個至倒數第二個元素的值(顧頭不顧尾)
print(names[-3:0])#輸出列表最後三個元素
print(nemas[::3]) #從第一個元素開始,每三個元素輸出一個(隔兩個元素輸出一個元素)
②查找元素所在位置:index方法
print(names.index("alex")) #查找元素“alex”的下標,輸出為0
③統計相同元素的個數:count方法
print(names.count("alex")) #輸出“alex”元素的個數
2.增添列表元素
有兩種方法,一是append()方法,插入列表末尾;二是insert()方法,可以插入特定的位置
names.append("luxun") #將元素插入列表的末尾
names.insert(2,"mayun") #將元素插入列表下角標為2的位置
3.修改列表元素
names[1]="lihua" #將第二個元素修改
4.刪除列表元素
有三種方法
①用“del”,此關鍵字不是列表特有的,可以用來刪除變數、列表、字典等。
del names[4] #刪除下標為4的元素
②pop()方法,根據下標刪除元素
names.pop(5) #刪除下標為5的元素,如果括弧空著,預設刪除最後一個元素
③remove()方法,根據元素內容刪除
names.remove("alex") #刪除此元素
5.合併列表
extend()方法
list1=[1,2,3]
list2=[4,5,6]
list1.extand(list2) #將list2列表合併到list1上
此方法只會改變list1,list2並不改變
6.列表嵌套
names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
#取出“liu”
print(names[3][1])
增刪改查同上
7.列表的複製
這裡詳細介紹三種
①copy()方法:淺copy
先看形式
names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
names2=names.copy() #將names複製一份給了names2
print(names2,names)
輸出完全一樣,沒問題
繼續操作:
names[1]="QIAN"
names[3][2]="MA"
print(names,names2)
看清楚了,所有的操作是對names的,names2的元素會保持不變嗎?來看結果
發現了什麼?names肯定是按照我們的操作變化了,names2呢?既沒有保持不變,也沒有完全跟names保持同步
而是:外層的列表元素不受影響,內層列表元素跟著改變。這就是淺copy
②copy.deepcopy()方法,引入copy模塊:深copy
import copy
names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
names2=copy.deepcopy(names) #將names深copy一份給了names2
print(names2,names)
同樣的操作
names[1]="QIAN"
names[3][2]="MA"
print("names:",names)
print("names2:",names2)
結果奉上:
深copy出來的names2是完全獨立於names的,相互之間不受干擾。
③類似於賦值操作的複製
names2=names #直接將其賦值給names2
進行上述操作後,結果如下
無論對誰進行操作,兩者的內容保持同步和一致
8.列表排序
①列表反轉:severse()方法
names.severse() #將列表反轉
print(names)
②列表排序:sort()方法
naems.sort() #將列表排序
print(names)
排序規則:按照每個字元串首位,特殊符號>數字>大寫字母>小寫字母,前提是數據類型是字元型。
註意:不同的數據類型無法排序!
9.列表迴圈
推薦用for迴圈
for i names:
print(i)
10.清空列表、刪除列表
清空列表用clear()方法
names.clear()
刪除列表用 del
del names
10.獲取列表長度
①names._len_()方法
②len(names)函數
都是獲取列表中元素的個數
四、元組
元組就是只讀列表
定義一個元組:
names=(1,2,3,4,5)
只能對它進行查詢訪問,不能增、刪、改。當然,可以刪除整個元組,即
del names