天天看點

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

人生苦短,你用python嗎?

化學專業的小凱,卻喜歡上了計算機語言,業餘時間入門了python,從此無法自拔,話不多說,接下來與大家分享我的學習筆記。(元組、清單)

Python中的資料結構主要有序列、集合、字典。

一.元組

元組(tuple)是一種序列(sequence)結構。

1.序列

序列是一種可疊代的、元素有序、可以重複出現的資料結構,序列可以通過索引通路元素。

序列包括:

  • 清單(list)
  • 字元串(str)
  • 元組(tuple)
  • 範圍(range)
  • 位元組序列(bytes)

序列可進行的操作有索引、分片、加和乘。

2.建立元組

元組是一種不可變序列,一旦建立就不能修改。建立元組可以使用tuple([iterable])函數或者直接用逗号将元素分開。

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

建立元組需要注意:

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

()可以建立空元組

元組隻有一個元素時,後面的逗号不能省略

3.通路元組

元組作為序列可以通過下标索引通路其中的元素,也可以對其進行分片。

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

元組還可以進行拆包(Unpack)操作,就是将元組的元素取出來指派給不同的變量。

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

第①行是将元組a進行拆包操作,接收拆包元素的變量的個數應該等于元組個數,接收變量個數可以少于元組個數。第②行接收變量個數隻有三個,最後一個很特殊,變量n前面有個星号,表示剩下的元素作為一個清單指派給變量n,另外,還可以使用下劃線指定不取值哪些元素,第③行表示不取第二個和第五個元素。

4.周遊元組

一遍使用for循環周遊元組

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

一般情況下,周遊目的隻是取出每一個元素值,見代碼第一個for循環,但有時需要在周遊的過程中同時擷取索引,可以使用第二個for循環,其中enumerate(a)函數可以擷取元組對象,該元組對象有兩個元素,第一個元素索引,第二個是元素的值。

二.清單

清單(list)也是一種序列結構,與元組不同,清單具有可變性,可以追加、插入、删除和替換清單中的元素。

1.建立清單

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

建立清單時[]不能省略,否則就變成元組了。建立空清單是[ ],清單中可以放入任何對象。還可以通過list([iterable])建立,('Hello','XiaoKai',1,2,3,4,5)是一個元組,元組是可疊代對象,可以作為list()函數參加建立清單對象。

2.追加元素

清單中追加元素的方法可以使用append()方法,如果想追加另一個清單,可以使用+運算符或者extend()方法。

list.append(x) #x參數是要追加的單個元素list.extend(t) #t參數是要追加的另外一個清單
           
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

3.插入元素

插入元素可以用insert()方法,該方法可以在指定索引位置插入一個元素。

insert(i,x)
           

參數i是索引,參數x是要插入的元素

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

4.替換元素

通過清單下标将索引元素放在指派符号“=”左邊,進行替換。

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

5.删除元素

remove()方法和pop()方法

(1)remove()方法

從左到右查找清單中的元素,如果找到比對元素則删除,如果找到多個比對元素,那麼隻删除第一個,如果沒有找到,則抛出錯誤

list.remove()
           
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

(2)pop()方法

它會将删除的元素傳回

list.pop([i]) 參數i是指定删除元素的索引,可以省略,表示删除最後一個元素
           
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

6.其他常用方法

  • reverse():倒置清單
  • copy():複制清單
  • clear():清除清單中的所有元素
  • index(x[,i[,j]]):傳回查找x第一個出現的索引,i是開始查找索引,j是結束查找索引,該方法繼承自序列,元組和字元串也可以使用這個方法
  • count(x):傳回x出現的次數,同樣繼承自序列,元組和字元串可以使用這個方法
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

7.清單推導式

他可以将一種資料結構作為輸入,經過過濾、計算等處理,最後輸出另一種資料結構。

  • 清單推導式
  • 集合推導式
  • 字典推導式

先說清單推導式

如果想得到0~9中偶數的平方數列,可以通過for循環實作
           
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

也可以通過清單推導式實作

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單
python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單

謝謝大家,下一篇分享資料結構——集合、字典

python findall傳回的是清單嗎_人生苦短,你用Python嗎?(七)資料結構——元組、清單...一.元組二.清單