人生苦短,你用python嗎?
化學專業的小凱,卻喜歡上了計算機語言,業餘時間入門了python,從此無法自拔,話不多說,接下來與大家分享我的學習筆記。(元組、清單)
Python中的資料結構主要有序列、集合、字典。
一.元組
元組(tuple)是一種序列(sequence)結構。
1.序列
序列是一種可疊代的、元素有序、可以重複出現的資料結構,序列可以通過索引通路元素。
序列包括:
- 清單(list)
- 字元串(str)
- 元組(tuple)
- 範圍(range)
- 位元組序列(bytes)
序列可進行的操作有索引、分片、加和乘。
2.建立元組
元組是一種不可變序列,一旦建立就不能修改。建立元組可以使用tuple([iterable])函數或者直接用逗号将元素分開。

建立元組需要注意:
()可以建立空元組
元組隻有一個元素時,後面的逗号不能省略
3.通路元組
元組作為序列可以通過下标索引通路其中的元素,也可以對其進行分片。
元組還可以進行拆包(Unpack)操作,就是将元組的元素取出來指派給不同的變量。
第①行是将元組a進行拆包操作,接收拆包元素的變量的個數應該等于元組個數,接收變量個數可以少于元組個數。第②行接收變量個數隻有三個,最後一個很特殊,變量n前面有個星号,表示剩下的元素作為一個清單指派給變量n,另外,還可以使用下劃線指定不取值哪些元素,第③行表示不取第二個和第五個元素。
4.周遊元組
一遍使用for循環周遊元組
一般情況下,周遊目的隻是取出每一個元素值,見代碼第一個for循環,但有時需要在周遊的過程中同時擷取索引,可以使用第二個for循環,其中enumerate(a)函數可以擷取元組對象,該元組對象有兩個元素,第一個元素索引,第二個是元素的值。
二.清單
清單(list)也是一種序列結構,與元組不同,清單具有可變性,可以追加、插入、删除和替換清單中的元素。
1.建立清單
建立清單時[]不能省略,否則就變成元組了。建立空清單是[ ],清單中可以放入任何對象。還可以通過list([iterable])建立,('Hello','XiaoKai',1,2,3,4,5)是一個元組,元組是可疊代對象,可以作為list()函數參加建立清單對象。
2.追加元素
清單中追加元素的方法可以使用append()方法,如果想追加另一個清單,可以使用+運算符或者extend()方法。
list.append(x) #x參數是要追加的單個元素list.extend(t) #t參數是要追加的另外一個清單
3.插入元素
插入元素可以用insert()方法,該方法可以在指定索引位置插入一個元素。
insert(i,x)
參數i是索引,參數x是要插入的元素
4.替換元素
通過清單下标将索引元素放在指派符号“=”左邊,進行替換。
5.删除元素
remove()方法和pop()方法
(1)remove()方法
從左到右查找清單中的元素,如果找到比對元素則删除,如果找到多個比對元素,那麼隻删除第一個,如果沒有找到,則抛出錯誤
list.remove()
(2)pop()方法
它會将删除的元素傳回
list.pop([i]) 參數i是指定删除元素的索引,可以省略,表示删除最後一個元素
6.其他常用方法
- reverse():倒置清單
- copy():複制清單
- clear():清除清單中的所有元素
- index(x[,i[,j]]):傳回查找x第一個出現的索引,i是開始查找索引,j是結束查找索引,該方法繼承自序列,元組和字元串也可以使用這個方法
- count(x):傳回x出現的次數,同樣繼承自序列,元組和字元串可以使用這個方法
7.清單推導式
他可以将一種資料結構作為輸入,經過過濾、計算等處理,最後輸出另一種資料結構。
- 清單推導式
- 集合推導式
- 字典推導式
先說清單推導式
如果想得到0~9中偶數的平方數列,可以通過for循環實作
也可以通過清單推導式實作
謝謝大家,下一篇分享資料結構——集合、字典