初學python(三) list、tuple
目錄:
1、list
2、tuple
list、tuple、dict、set都是python內建的一種資料型別,下面就簡單介紹下list、tuple的用法
一、list:
list是一種有序的集合,可以隨時新增和刪除其中的元素。比如,列出班裡所有同學的名字,就可以用一個list表示:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
classmates便是一個list,用len可以統計list的元素個數:
>>> len(classmates)
3
list如同c語言中的陣列一樣可以通過索引來訪問list每一個位置的元素:
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
要注意的是第一個元素的索引是[0],而且當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界。如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:
>>> classmates[-1 ]
'Tracy'
以此類推,可以獲取倒數第2個、倒數第3個。
list是一個可變的有序表,所以,可以往list中追加元素到末尾:
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
也可以把元素插入到指定的位置,比如索引號為1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam' ]
要刪除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
如果要刪除指定位置的元素,則可用pop(i)的方式來實現:
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
list元素的替換可以通過’=’來直接賦值。
list中的元素可以是任意資料型別,當然也就包括list本身:
char_count = [['w',0],['o',0],['l',0],['d',0]]
二、tuple:
另一種有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')
現在,classmates這個tuple不能變了,它也沒有append(),insert()這樣的方法。也不能替換其中的元素。
不可變帶來了不方便,但是卻提高了程式碼的安全性
要注意的是要定義一個只有1個元素的tuple,如果你這麼定義:
>>> t = (1)
>>> t
1
定義的不是tuple,是1這個數!這是因為括號()既可以表示tuple,又可以表示數學公式中的小括號,這就產生了歧義,因此,Python規定,這種情況下,按小括號進行計算,計算結果自然是1。
所以,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義:
>>> t = (1,)
>>> t
(1,)
Python在顯示只有1個元素的tuple時,也會加一個逗號,,以免你誤解成數學計算意義上的括號。