python語言學習——元組與列表

1. 序列類型

1.1 序列類型基本知識

序列類型是一維元素向量,元素之間存在先後關係,通過序號訪問。

由於元素之間存在順序關係,所以序列中可以存在數值相同但是位置不同的元素。序列類型支持成員關係操作符(in)、長度計算操作符(len())、分片([]),元素本身也可以是序列類型。

Python語言中有很多數據類型都是序列類型,其中比較重要的是str(字符串)、tuple (元組)和list (列表)。字符串(str) 可以看成是單一字符的有序組合,屬於序列類型。同時,由於字符串類型十分常用且單一字符串只表達一個含義,也被看作是基本數據類型。

元組是包含0個或多個數據項的不可變序列類型。元組生成後是固定的,其中任何數據項不能替換或刪除。列表則是一個可以修改數據項的序列類型,使用也最靈活。無論哪種具體數據類型,只要它是序列類型,都可以使用相同的索引體系,即正向遞增序號和反向遞減序號。

1.2 序列類型的通用操作符和函數

操作符 描述
x in s 如果x是s的元素,則返回True;否則返回False
x not in s 與第一個相反
s+t 連接s和t
s*n 將序列s複製n次
s[i] 索引,返回序列的第i個元素
s[i:j] 分片,返回s中**[i,j)**個元素,注意不包括j
s[i:j:k] 步驟分片,返回包含序列s第i個到第j個元素以k爲步長的子序列
len(s) 序列s元素的長度
min(s) 序列s中的最小元素
max(s) 序列s中的最大元素
s.index(x[,i[,j]]) 序列s中從i開始到j位置中第一次出現元素x的元素
s.count(x) 序列s中出現x的總次數

1.2.調試情況

>>> s = 'a','b','c','d','e'
>>> 'a' in s
True
>>> 'a' not in s
False
>>> t = 'q','w','e'
>>> s+t
['a', 'b', 'c', 'd', 'e', 'q', 'w', 'e']
>>> s*3
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
>>> s[2]
'c'
>>> s[0:3]
['a', 'b', 'c']
>>> s[0:3:2]
['a', 'c']
>>> len(s)
5
>>> min(s)
'a'
>>> max(s)			#此處是比較ascll所對應的十進制的大小
'e'
>>> s.index('a')
0
>>> s.count('b')
1

1.3 元組

元組(tuple)是序列類型中比較特殊的類型,因爲它一旦創建就不能被修改。元組類型在表達固定數據項、函數多返回值、多變量同步賦值、循環遍歷等情況下十分有用。

通過循環遍歷結合math庫,可以求出多個座標值到原點的距離:

>>> import math
>>> for x, y in ((1,1),(2,6)):
	print(math.hypot(x,y))

	
1.4142135623730951
6.324555320336759

2. 列表類型

2.1 列表類型的基本概念

列表(list) 是包含0個或多個對象引用的有序序列,屬於序列類型。與元組不同,列表的長度和內容都是可變的,可自由對列表中的數據項進行增加、刪除或替換。列表沒有長度限制,元素類型可以不同,使用非常靈活。

由於列表屬於序列類型,所以列表也支持成員關係操作符(in)、 長度計算函數(len()、分片([])。 列表可以同時使用正向遞增序號和反向遞減序號,可以採用標準的比較操作符(<. <=、==、!=、>=)進行比較,列表的比較實際上是單個數據項的逐個比較。

列表用中括號([]) 表示,也可以通過list()函數將元組或字符串轉化成列表。直接使用list()函數會返回一個空列表。

>>> list('dream')
['d', 'r', 'e', 'a', 'm']
>>> list()
[]

此外,簡單將一個列表賦值給另一個列表不會生成新的列表對象

2.2 列表類型特有的函數或方法

函數或方法 描述
ls[i]=x 替換ls中第i項爲x
ls[i:j]=lt 用列表lt替換ls中第i到第j項數據
del ls[i:j] 刪除ls第i到第j項數據
ls += lt/ls.extend(lt) 將列表lt增加到ls中
ls.qppend(x) 在列表最後增加一個元素x
ls.clear 清除ls中所有元素
ls.copy 生成一個新列表,複製ls中所有元素
ls.insert(i,x) 在列表的第i位置增加元素x
ls.pop(i) 將列表ls中的第i項元素提取出來並刪除
ls.remove(x) 將列表中出現的第一個元素x刪除
ls.reverse(x) 列表ls中的元素反轉

2.2.調試情況

>>> a = list('dream')
>>> a.pop(0)
'd'
>>> a
['r', 'e', 'a', 'm']
>>> a[0]='d'
>>> a
['d', 'e', 'a', 'm']
>>> a[1:3]=['d']
>>> a
['d', 'd', 'm']				#python不要求兩個列表的長度一樣,但遵循“多增少減”的原則,這樣,可以通過賦給更多或更少元素實現對列表元素的插入和刪除
>>> for s in a:
	print(s,end="")

ddm		#與元組一樣,列表可以通過for-in語句對其元素進行遍歷

3. 小結

上文講述的是元組與列表,關於字典和集合,將在下一篇文章詳細介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章