Python資料型別(2)列表和元組
阿新 • • 發佈:2018-11-11
列表和元組
列表和元組都屬於序列型別(sequence)。序列物件中的元素都是有序存放的,可以通過編號訪問其元素。兩者最大的區別在於列表是一種可變序列支援修改其元素,而元組是一種不可變序列,不能修改其元素。
列表
列表(list)是一種可變序列。列表用方括號定義,元素間用逗號隔開。列表的元素可以是任意的資料型別(數字字串,列表,元組,字典,都可以作為其元素)。
列表的定義
>>> list1=['a','b','c','d','e','f'] >>> list1 ['a', 'b', 'c', 'd', 'e', 'f'] >>> list2=[1,2,3,'a','efg'] >>> list2 [1, 2, 3, 'a', 'efg']
這裡說明list1的元素與位置編號的關係
正位置編號 0 1 2 3 4 5
列表元素 a b c d e f
負位置編號 -6 -5 -4 -3 -2 -1
列表的簡單操作(更多操作放在序列通用操作中演示)
>>> list1[5] #正數索引 'f' >>> list1[-1] #負數索引 'f' >>> list3=list1+list2 #列表相加 >>> list3 ['a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3, 'a', 'efg'] >>> list4=[list1,list2] #列表的巢狀 >>> list4 [['a', 'b', 'c', 'd', 'e', 'f'], [1, 2, 3, 'a', 'efg']] >>> list4[1][4] #索引巢狀列表元素 >>> list1[0]=1 #修改列表元素(前面說過列表元素是可變的) >>> list1 [1, 'b', 'c', 'd', 'e', 'f'] 'efg'
元組
元組(tuple)是一種不可變序列型別。元組用圓括號定義,元素間用逗號隔開。再不引起語法錯誤的前提下,一組用逗號隔開的值,系統預設建立元組。或者說元組的定義可以沒有圓括號。
元組的建立
>>> tuple1=('a','b','c','d') #圓括號定義元組
>>> tuple1
('a', 'b', 'c', 'd')
>>> tuple2=1,2,'a' #系統預設定義元組
>>> tuple2
(1, 2, 'a')
元組的簡單操作
>>> tuple2[1] #元組元素的引用
2
>>> tuple3=tuple1+tuple2 #元組元素相加
>>> tuple3
('a', 'b', 'c', 'd', 1, 2, 'a')
>>> tuple1[2]=1 #企圖改變元組的元素,元組是不可變的序列因此會報錯
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
參考文獻:秦穎.Python實用教程.北京:清華大學出版社,2016.