python的列表據(jù)類似于數(shù)組,定義好列表之后,可以通過下標(從0開始的)進行訪問
切片的時候,是從左到右進行切片,也就是說:
print("arr[0:3]",arr[0:3])#從0到2,取頭不取尾,這就叫切片
切片的時候左邊的數(shù)字一定要表示左邊的索引,右邊的數(shù)字一定要表示右邊的所以,這樣切片的時候就是從左到右
如果這樣不行
print("arr[3:0]",arr[3:0])
注:想學(xué)習(xí)Python的小伙伴們
可以
進群:984137898
領(lǐng)取從0到1完整學(xué)習(xí)資料 視頻? 精品書籍 一個月經(jīng)典筆記和99道練習(xí)題及答案
還有一種情況也要注意
print(arr[-1,-3])要注意-1是倒數(shù)第一個,-3是倒數(shù)第三個,這樣的切片就是從右向左了,正確寫法應(yīng)該是
print(arr[-3,-1])這樣就是從左到右了,取左不取右,這個代碼是取倒數(shù)第三個,和倒數(shù)第二個
這個表示只要是-2之后的就全都取出
這個等于arr[0:3]取頭不取尾,默認:前面為0,可以省略
切片還可以按照步長切片比如:arr[0:-1:2]這個就是從0到倒數(shù)第二個(包含頭不包含尾),每兩個取一個
print(arr[::2])這個是從0到倒數(shù)第一個(包含頭包含尾),每兩個取一個
數(shù)組定義好了之后,我們可以在往里面添加數(shù)據(jù),主要使用append和insert
兩者的區(qū)別是append方法是將數(shù)據(jù)添加到數(shù)組最后一個位置,而insert是插入到數(shù)組的指定位置
還可以將列表中的數(shù)據(jù)修改,直接使用:
列表名[索引]=值
這種方式將索引位置的值修改
因為上面插入的時候ggg插入到了1位置,所以雖然初始定義的時候feng的索引是1,但是因為后面插入1位置了ggg,所以實際上1的位置是ggg,所以修改的時候fff代替的是ggg
刪除,我們還可以刪除列表中的數(shù)據(jù),有兩種操作方式
方式一:列表名.remove("想要刪除的值")
方式二:列表名.pop(索引),如果不寫索引則默認刪除列表的最后一個數(shù)據(jù)
方式三:del 列表名[索引]
所示想刪除一個變量直接del 變量名就ok了
列表中的額數(shù)據(jù)我們可以通過索引去取對應(yīng)的值,同樣,也可以通過值去列表中尋找對應(yīng)的索引
結(jié)果為4,取出了cheng數(shù)據(jù)所對應(yīng)的下標
一個列表中值可能有重復(fù)的數(shù)據(jù),比如有兩個huan,我們可以算出他有多少個huan
結(jié)果為2,有兩個huan
其它的api
清空:列表.clear()
反轉(zhuǎn):列表.reverse()
排序:列表.sort()
合并:列表1.extend("列表2"),把列表2放到列表1中,從列表1的最后一個位置開始放
復(fù)試:列表.copy()
復(fù)制之后一個改變另外一個不會改變,兩個不會有任何關(guān)系
這個copy是淺copy,就是只copy第一層,如果一個列表有第二層,那么第二層的數(shù)據(jù)一個改變另外一個也會變
可以看出[1,2,3,4]是第二層列表,這個第二層列表數(shù)據(jù)改變,一個改變另外一個也會改變
這個是淺copy,一層copy了,二層還是沒有copy,
如果直接arr1=arr的話,那就完全沒有copy,一個改變,另外一個也會改變
我所說的copy是,一個改變另一個不會變,是完全的兩份
可以通過import copy庫來實現(xiàn)deepcopy
還有其它幾種實現(xiàn)淺copy的方式:
方式一:完全切片
完全切片的第二層列表數(shù)據(jù)一個改變另外一個也會改變,第一層列表數(shù)據(jù)一個改變另外一個不會變,這個就是淺copy
方式二:工廠函數(shù)list
遍歷數(shù)組
遍歷數(shù)組就是for 變量名 :數(shù)組名,其中這個i就是數(shù)組中的值
我們怎樣輸出每個值所對應(yīng)的索引呢?
其實還有一個辦法更加方便
使用enumerate的作用就是在for遍歷的時候有兩個參數(shù),一個代表索引,一個代表值
元祖tuple
元祖和列表類似,不同的是列表用[]引起來,而元組使用()引起來,元祖也是存儲一組數(shù)據(jù),不同的是,元組存儲的數(shù)據(jù)只能查找而不能修改,所以可以叫做只讀列表,它的方法也不多
一個index獲取元祖中指定值的索引,第二個count獲取元組中的count() 統(tǒng)計某個元素在元祖中出現(xiàn)的次數(shù)
數(shù)組中可以存放元組
arr=[(1,huan),(2,feng),(3,de),(4,bian),(5,cheng),(6,ri),(7,ji)]