標籤:img python div 元素 長度 插入 因此 9.png 分享圖片
本文主要討論python中列表的性質和列表的一些內建方法。
一.列表的定義和性質1.列表的定義:
列表是python中的內建內的一種,在python中的類的關鍵字是list.列表的定義如下:
li=[12.‘hello‘,344,[12,23,‘hshs‘]]
列表是由[]標誌的。列表中的元素用“,”分隔開.列表的元素可以是數字,字串,元組,字典。
2.列表的性質(1)列表可以通過索引尋找元素
li=[1,2,3,4]s=li[3]print[s]
列表的索引從0開始,最後一個元素的索引是列表的長度-1.
(2)列表可以通過for和while迴圈遍曆
1 li=[1,2,45,45]2 s=len(li)3 i=04 for item in li:5 print(item)6 while i<s:7 print(li[i])8 i=i+1
列表是有序的,因此可以由while迴圈遍曆(字典是無序的,因此不能用while迴圈遍曆)。當然,for迴圈遍曆也是支援的。
(3)列表中的元素可以是基本資料,即資料,字串,列表,字典,元組。(4)列表可以進行切片操作
1 li=[12,34,56,67,89]2 li1=li[2:4]3 print(li1)
列表可以通過切片取出列表中的元素,切片的索引範圍是左閉右開。除了可以查詢之外,也可以通過列表切片修改列表元素
(5)列表的元素允許修改
1 li=[23,45,67,90]2 li[2]=1003 print(li)4 li[0:3]=[11,21,23]5 print(li)
列表的元素可以修改,既可以通過索引修改,也可以通過切片修改
(6)列表中的元素允許刪除
列表中的元素,可以通過del li[i]刪除,也可以通過listl類提供的方法刪除。方法會在後面討論,此處只說del的刪除方式。
1 li=[45,67,90,‘defde‘,True,‘huebfur‘]2 del li[0]3 print(li)4 del li[0:3]5 print(li)
del既可以針對索引刪除,也可以針對切片刪除。
(7)列表與字串之間的轉換
列表與字串可以相互轉換。字串轉列表相對比較簡單,可以直接轉換:
s=‘hello‘s1=list(s)print(s1)
將字串轉為列表,則字串中的每一個字元變成列表中的一個元素。
列錶轉字串就不能直接轉了,因為如果直接轉會將列表的"[]"標誌符也作為字串的一部分。列錶轉字串,我們只能自己寫一個函數來轉化:
1 li=[123,‘sre‘,567,True,‘defe‘]2 s=‘‘3 for iltm in li:4 s=s+str(iltm)5 print(s)
如果列表中的元素只有字串,則可以通過join函數來將列錶轉為字串:
1 li=[‘hello‘,‘dhuewu‘,‘cbureuvr‘]2 s=‘‘.join(li)3 print(s)
(8)補充:字串一旦建立後,不可再修改
字串在python中是一個常量(在其他語言中也是這樣),所以一旦字串被建立,就不可再修改,如果要修改字串,相當於是對該字串做了一份複製,因此修改後的字串需要另外一個變數來接收,修改操作對原字串是無效的,而列表的修改操作則是針對原列表操作,因此無需另外一個變數來接收。
1 s=‘helloworld‘ #原字串2 s1=s.upper()#將字串變為大寫3 print(s1)4 print(s)
代碼執行效果:
下面是在列表末尾新增一個元素:
1 li=[1,2,3,4,5,6]2 li1=li.append(9)3 print(li)4 print(li1)
這是他的執行結果:
由上可以看出,對列表的所有操作都是直接針對原始列表進行的。新的變數接收的值是根據方法的傳回值來定的。
3.列表類的方法(1)append(value):
append函數在列表的末尾添加一個元素
(2)clear():
清空列表
(3)copy():
複製列表(淺拷貝)
(4)count(value):
計算value在列表中出現的次數。
(5)extend(iterable):
該函數傳入參數一個可迭代對象(可以用for迴圈的便是一個可迭代對象),然後把可迭代對象裡面的元素加入列表末尾。需要注意該方法與append方法的區別,如果append函數傳入一個可迭代對象,那麼會把這個可迭代對象作為一個整體元素加入列表,而extend是把可迭代對象的每一個元素分別加入列表:
1 li=[1,2,3]2 li1=li.copy()3 li.append(‘hello‘)4 li1.extend(‘hello‘)5 print(li)6 print(li1)
下面是執行結果:
(6)index(value,strat=None,end=None):
該方法判斷列表中尋找元素第一次出現的索引(從左往右),該方法有兩個預設參數,可以指定尋找的範圍。若列表中不存在該值,會報錯
(7)insert(index,value):
在列表指定的位置插入新的值
(8)pop(index=None):
刪除列表中的元素。預設是刪除列表的最後一個元素。該方法有一個預設參數可以用來指定刪除的位置。
(9)remove(value):
刪除列表中第一次出現的value值(從左向右)。
(10)reverse():
將列表翻轉。即第一個元素變為倒數第一個元素,第二個元素變為倒數第二個元素...
(11)sort(key=None,reverse=False):
將列表元素排序,預設是按照升序,如果是降序,則將reverse設定為true,key值後續部門再討論,此處略過。
python基礎之列表(list)