Python學習筆記8——列表、字典、元組

Eternally_陪伴發表於2018-09-10

參考書籍:《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))

 

相關文章