1. 程式人生 > >Python資料型別(2)列表和元組

Python資料型別(2)列表和元組

列表和元組

列表和元組都屬於序列型別(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.