Python基礎程式設計(六)——序列型別
之前提到了python中的幾種標準型別,這裡對這幾種標準型別簡單總結一下,作為學習筆記記錄。
在之前文章中提到的關於成員運算子的內容中,出現過序列型別的說法,那麼什麼是序列型別?
序列型別
序列(sequence)是指一段可以存放多個值的連續記憶體空間,這些值按照一定的順序排列,可以通過每個值所在位置的編號(索引值)來進行訪問。
在python中,序列型別包括string,list,tuple,set和dict。一般說來,序列型別都支援索引,切片,相加,相乘,成員操作,但是比較特殊的是,set和dict不支援索引,切片,相加,相乘操作。
索引操作
索引操作是指該序列型別可以通過下標值實現元素的隨機訪問。
a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)
print(a[3])
print(b[4])
print(c[5])
print(a[-3])
print(b[-4])
print(c[-5])
結果為:
d
5
6
i
6
5
序列型別的索引操作有兩個方向,正向從0開始,len-1結束,反向從-1開始,-len結束。
切片操作
切片操作是指通過特定的語法可以訪問一定範圍內的元素,從而生成新的序列。語法為:
var[start:end:step]
各個引數的含義為:
- var表示序列物件
- start表示切片的起始位置,包含此位置,可以省略,省略時預設為0
- end表示切片的終止位置,不包含此位置,可以省略,省略時預設為末尾位置
- step表示切片的步長,可以省略,省略時預設為1,第二個冒號也可省略
a = [1,2,3,4,5,6,7,8,9]
print(a[1:6])
print(a[1:6:2])
print(a[:6:2])
print(a[1::2])
print(a[:])
print(a[::])
print(a[::-1])
結果為:
[2, 3, 4, 5, 6]
[2, 4, 6]
[1, 3, 5]
[2, 4, 6, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
需要注意的時,當step=-1時,預設的起始位置和終止位置會發生改變。
相加操作
相加操作是指相同序列型別之間可以進行連線
a = [1,2,3,4]
b = [3,4,5,6]
print(a + b)
相乘操作
相乘操作是指對序列型別重複n次並新增到原序列上。
a = [1,2,3,4]
print(a * 3)
結果為:
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
成員操作
成員操作是指可以利用成員運算子判斷元素是否存在於某序列型別。
a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)
d = {1,2,3,4}
e = {1:'tom',2:'jack'}
print('a' in a)
print(1 in b)
print(1 in c)
print(1 in d)
print(1 in e)
結果為:
True
True
True
True
True
序列相關函式
函式 | 功能 |
---|---|
len() | 計算序列的長度,即返回序列中包含多少個元素 |
max() | 找出序列中的最大元素 |
min() | 找出序列中的最小元素 |
list() | 將序列轉換為列表 |
str() | 將序列轉換為字串 |
sum() | 計算元素和。注意,對序列使用 sum() 函式時,做加和操作的必須都是數字,不能是字元或字串,否則將丟擲異常 |
sorted() | 對元素進行排序 |
reversed() | 反向序列中的元素。dict是無序的序列型別,因此沒有該操作 |
enumerate() | 將序列組合為一個索引序列,多用在 for 迴圈中 |
上述函式有幾個需要注意:
a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)
d = {1,2,3,4}
e = {1:'tom',2:'jack'}
print(max(a))
print(max(e))
print(list(a))
print(list(e))
print(str(b),' ',len(str(b)))
print(str(e),' ',len(str(e)))
print(sum(e))
print(sorted(e))
結果為:
k
2
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k']
[1, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9] 27
{1: 'tom', 2: 'jack'} 21
3
[1, 2]
這幾種操作可能跟想當然的結果不太一樣,需要注意。
相關文章
- Python學習之旅(核心程式設計基礎篇6基礎資料型別③)Python程式設計資料型別
- python基礎之序列型別的方法——列表&元組Python型別
- python程式設計基礎Python程式設計
- Java程式設計基礎12——Eclipse使用&Object型別Java程式設計EclipseObject型別
- python 程式設計基礎案例Python程式設計
- Python資料型別基礎Python資料型別
- 《Go 語言程式設計》讀書筆記 (一)基礎型別和複合型別Go程式設計筆記型別
- python基礎(物件導向程式設計)Python物件程式設計
- python物件導向程式設計基礎Python物件程式設計
- Python程式設計基礎Task12Python程式設計
- Python程式設計常用的資料型別Python程式設計資料型別
- Python基礎之四:Python3 基礎資料型別Python資料型別
- python基礎(二)—-資料型別Python資料型別
- python基礎之資料型別Python資料型別
- python的基礎資料型別Python資料型別
- Python基礎03 序列Python
- Python多程式程式設計基礎——圖文版Python程式設計
- Python程式設計基礎(一)程式語言是什麼?編譯型語言和解釋型語言的區別|Python是什麼?Python程式設計編譯
- Python程式設計基礎:f-字串格式Python程式設計字串
- Python基礎程式設計(十六)——函式4Python程式設計函式
- 【Python入門基礎】網路程式設計Python程式設計
- Golang基礎程式設計(一)-基本結構、資料型別、流程語句Golang程式設計資料型別
- Python基礎02 基本資料型別Python資料型別
- Python基礎:資料型別-字串(7)Python資料型別字串
- Python基礎學:內建型別(2)Python型別
- 圖解python | 基礎資料型別圖解Python資料型別
- Python - 基礎資料型別 list 列表Python資料型別
- Python - 基礎資料型別 set 集合Python資料型別
- Python - 基礎資料型別 dict 字典Python資料型別
- Python 序列型別以及函式引數型別Python型別函式
- 0-4 Python 基礎資料型別-數值型別Python資料型別
- Java程式設計基礎03——進位制運算&資料型別&變數Java程式設計資料型別變數
- 學Python,不需要有程式設計基礎!Python程式設計
- 學Python程式設計有什麼用?Python基礎教程!Python程式設計
- python基礎 -08- 資料型別(set)Python資料型別
- Python基礎:資料型別-數字(5)Python資料型別
- Python - 基礎資料型別 tuple 元組Python資料型別
- Python3 基礎資料型別概述Python資料型別