參考書籍:《Learning_Python_5th_Edition.pdf》,一本英文書呢,我上傳到百度網盤吧,請點選這裡,密碼是:kym3
Lists 列表
The Python list object is the most general sequence provided by the language. 最常用,sequence指序列,positionally ordered collections,按順序(位置)地物件的集合,字串string也是一種序列。列表python中已經是一個定義好的類。
如:
nl = [1,2,5,3,5] # nl是就是類list的一個物件,中括號[],列表的元素可以時任意型別,甚至是列表,列表的元素可以更改。
# 實驗一些list的方法:
nl.count(5) # 計數,看總共有多少個5
nl.index(3) # 查詢 nl 的第一個3的下標
nl.append(6) # 在 nl 的最後增添一個新元素6
nl.sort() # 對nl的元素排序
nl.pop() # 從nl中去除最後一個元素,並將該元素返回。
nl.remove(2) # 從nl中去除第一個2
nl.insert(0,9) # 在下標為0的位置插入9
Tuple 元組
元組tuple,小括號(),tuple和list的主要區別在於,一旦建立,tuple元組的各個元素不可再變更,而列表可以更改,別的都差不多。
元素的引用
>>>s1 = (2, 1.3, `love`, 5.6, 9, 12, False) # s1是一個tuple
>>>s2 = [True, 5, `smile`] # s2是一個list
序列元素的下標從0開始:
>>>print(s1[0])
>>>print(s2[2])
>>>print(s3[1][2])
由於list的元素可變更,可以對list的某個元素賦值:
>>>s2[1] = 3.0
>>>print(s2)
如果對tuple做這樣的操作,會得到錯誤提示。
所以,可以看到,序列的引用通過s[<int>]實現, int為下標
其他引用方式
範圍引用: 基本樣式[下限:上限:步長]
>>>print(s1[:5]) # 從開始到下標4 (下標5的元素 不包括在內)
>>>print(s1[2:]) # 從下標2到最後
>>>print(s1[0:5:2]) # 從下標0到下標4 (下標5不包括在內),每隔2取一個元素 (下標為0,2,4的元素)
>>>print(s1[2:0:-1]) # 從下標2到下標1
從上面可以看到,在範圍引用的時候,如果寫明上限,那麼這個上限本身不包括在內。
尾部元素引用
>>>print(s1[-1]) # 序列最後一個元素
>>>print(s1[-3]) # 序列倒數第三個元素
同樣,如果s1[0:-1], 那麼最後一個元素不會被引用 (再一次,不包括上限元素本身)
字串是元組
字串是一種特殊的元組,因此可以執行元組的相關操作。
>>>str = `abcdef`
>>>print(str[2:4])
Dictionary 字典
詞典(dictionary)也是一個類。與列表相似,詞典也可以儲存多個元素。
常見的建立詞典的方法:
>>>dic = {`tom`:11, `sam`:57,`lily`:100}
>>>print type(dic)
詞典和表類似的地方,是包含有多個元素,每個元素以逗號分隔。但詞典的元素包含有兩部分,鍵和值,常見的是以字串來表示鍵,也可以使用數字或者真值來表示鍵(不可變的物件可以作為鍵)。值可以是任意物件。鍵和值兩者一一對應。
比如上面的例子中,‘tom’對應11,`sam對應57,`lily`對應100
與表不同的是,詞典的元素沒有順序。你不能通過下標引用元素。詞典是通過鍵來引用。
>>>print dic[`tom`]
>>>dic[`tom`] = 30
>>>print dic
構建一個新的空的詞典:
>>>dic = {}
>>>print dic
在詞典中增添一個新元素的方法:
>>>dic[`lilei`] = 99
>>>print dic
這裡,我們引用一個新的鍵,並賦予它對應的值。
詞典元素的迴圈呼叫
dic = {`lilei`: 90, `lily`: 100, `sam`: 57, `tom`: 90}
for key in dic:
print dic[key]
在迴圈中,dict的每個鍵,被提取出來,賦予給key變數。
通過print的結果,我們可以再次確認,dic中的元素是沒有順序的。
詞典的常用方法
>>>print dic.keys() # 返回dic所有的鍵
>>>print dic.values() # 返回dic所有的值
>>>print dic.items() # 返回dic所有的元素(鍵值對)
>>>dic.clear() # 清空dic,dict變為{}
另外有一個很常用的用法:
>>>del dic[`tom`] # 刪除 dic 的‘tom’元素
del是Python中保留的關鍵字,用於刪除物件。
與表類似,你可以用len()查詢詞典中的元素總數。
>>>print(len(dic))