鍵在一個字典中是唯一的,而值則可以重複。字典的值可以是任何型別,但鍵必須是不可變的資料的型別,例如:字串,數位或元組這樣的型別。
要存取字典元素,你可以使用方括號和對應鍵,以獲得其對應的值。下面是一個簡單的例子 -
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
dict['Name']: Zara dict['Age']: 7
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Alice']: ", dict['Alice']
dict['Zara']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # update existing entry dict['School'] = "DPS School" # Add new entry print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
dict['Age']: 8 dict['School']: DPS School
可以刪除單個字典元素或清除字典的全部內容。也可以在一個單一的操作刪除整個詞典。
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict['Name'] # remove entry with key 'Name' dict.clear() # remove all entries in dict del dict # delete entire dictionary print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
字典的值沒有限制。它們可以是任意Python物件,無論是標準的物件或使用者定義的物件。但是,鍵卻不能這樣使用。
(一)每個鍵對應多個條目是不允許的。這意味著重複鍵是不允許的。當鍵分配過程中遇到重複,以最後分配的為準。例如 -
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} print ("dict['Name']: ", dict['Name'])
dict['Name']: Manni
(二)鍵必須是不可變的。這意味著可以使用字串,數位或元組作為字典的鍵,但是像['key']是不允許的。下面是一個簡單的例子:
#!/usr/bin/python3 dict = {['Name']: 'Zara', 'Age': 7} print ("dict['Name']: ", dict['Name'])
當執行上面的程式碼,它產生以下結果 -
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7} TypeError: list objects are unhashable
SN |
函式與描述
|
---|---|
1 |
比較這兩個字典的元素。
|
2 |
計算字典的總長度。這等於字典中的項的數目。
|
3 |
產生字典的可列印字串表示
|
4 |
返回傳遞變數的型別。如果傳遞變數是字典,那麼它會返回一個字典型別。 |
SN |
描述與方法
|
---|---|
1 |
刪除字典 dict 中的所有元素
|
2 |
返回字典 dict 的淺表副本
|
3 |
使用seq的鍵和值來設定建立新字典
|
4 |
對於鍵key,返回其值或default如果鍵不存在於字典中
|
5 |
返回true如果在字典dict有存在鍵key,否則為false
|
6 |
返回 dict (鍵,值)元組對的列表
|
7 |
返回字典 dict 的鍵列表
|
8 |
dict.setdefault(key, default=None)
類似於get()方法,但會設定dict[key]=default,如果鍵不存在於dict中
|
9 |
新增字典dict2的鍵值對到dict
|
10 |
返回字典dict值列表
|