字典是另一種可變容器模型,且可存儲任意類型對象(在有些地方也被稱爲哈希Hash、關係數組)。字典是Python中唯一的映射類型。
字典的每個鍵值(項)(key => value)對用冒號( : )分割,每個對之間用逗號( , )分割,整個字典包括在花括號( { } )中,如下:
d = {key1 : value1, key2 : value2}
鍵必須是唯一的,但值則不必。值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。
一個簡單的字典實例:
dict = {} #空字典
dict0 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
創建字典
dict()函數
一、打包成一個元組或列表序列(一個,不能是多個)
>>> dict0 = dict((('A','No.1'),('B','No.2'),('C','No.3'))) #元組組建元組
>>> dict1 = dict([['A','No.1'],['B','No.2'],['C','No.3']]) #列表組建列表
>>> dict2 = dict([('A','No.1'),('B','No.2'),('C','No.3')]) #元組組建列表
>>> dict3 = dict((['A','No.1'],['B','No.2'],['C','No.3'])) #列表組建元組
>>> dict0 == dict1 == dict2 == dict3 == {'A': 'No.1', 'B': 'No.2', 'C': 'No.3'}
True
二、zip()函數
>>> dict4 = dict(zip(['A', 'B', 'C'], ['No.1', 'No.2', 'No.3']))
>>> dict4
{'A': 'No.1', 'B': 'No.2', 'C': 'No.3'}
三、通過具有映射關係的參數創建
>>> dict0 = dict(A = 1, B = 'two', C = '三') #注:鍵的位置(ABC)不能加字符串的引號,會報錯
>>> dict0
{'A': 1, 'B': 'two', 'C': '三'}
修改字典
訪問字典
dict = {'第一': 'First', '第二': 'Second', '第三': 'Third'}
print('"第二" in English is:', dict['第二'] + '.' )
'''
"第二" in English is: Second.
'''
訪問字典裏不存在的鍵,報錯:
dict = {'第一': 'First', '第二': 'Second', '第三': 'Third'}
print('"第四" in English is:', dict['第四'] + '.' )
'''
KeyError: '第四'
'''
修改字典