python字典以“鍵-值對”形式存在,所有的元素放在一對大括號“{}”中;
字典中的“鍵”是不允許重復,“值”是可以重復的。
以下總結了3種字典的構建方法
一、直接賦值法
使用=將一個字典賦值給一個變量,即可以創建一個字典變量。
# # 直接賦值
a = {
}
b = {
'a': 1, 2: 'a', 1: 2, "b": 1, '''c''': 1}
print('空字典:', a, type(a))
print('字典b:', b, type(b))
空字典:{} <class ‘dict’>
字典b :{‘a’: 1, 2: ‘a’, 1: 2, ‘b’: 1, ‘c’: 1}<class ‘dict’>
注:字典中使用單引號、雙引號、三引號都可以,這點跟json格式數據不同,json格式數據只能使用雙引號。
二、內置函數dict()
使用內置函數dict快速創建字典
**用法1:**創建空字典
# 內置函數dict()
a = dict()
print(a, type(a))
結果:{} <class ‘dict’>
**用法2:**將2個列表格式數據組合成字典
# 將2個列表數據組合成字典
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dict1 = dict(zip(keys, values))
print('結果:', dict1)
結果:{‘a’: 1, ‘b’: 2, ‘c’: 3}
注:使用此方法組合字典時,要保證2個列表的長度一樣。
**用法3:**根據給定的“鍵-值對”創建字典
# 根據給定的鍵值對創建字典
dict1 = dict(a=1, b=2, c=3, d='a')
print('結果:', dict1)
結果:{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: ‘a’}
**用法4:**給定內容為“鍵”,創建“值”為空的字典
# # 給定內容為鍵,創建值為空的列表
dict1 = dict.fromkeys(['a', 'b', 'c'])
dict2 = dict.fromkeys({
'a', 'b', 'c'})
dict3 = dict.fromkeys(('a', 'b', 'c'))
print('結果1:', dict1)
print('結果2:', dict2)
print('結果3:', dict3)
結果1:{‘a’: None, ‘b’: None, ‘c’: None}
結果2:{‘c’: None, ‘b’: None, ‘a’: None}
結果3:{‘a’: None, ‘b’: None, ‘c’: None}
注:dict.fromkeys()裡面值類型可以是列表、集合、元組。
**用法5:**創建所有“鍵”對應的“值”相同的字典
# 創建所有鍵對應的值相同的字典
dict1 = dict.fromkeys(['a', 'b', 'c'], 1)
dict2 = dict.fromkeys(['a', 'b', 'c'], [1,2])
print('值全為1的字典:', dict1)
print('值全為[1,2]的字典:', dict2)
值全為1的字典:{‘a’: 1, ‘b’: 1, ‘c’: 1}
值全為[1,2]的字典:{‘a’: [1, 2], ‘b’: [1, 2], ‘c’: [1, 2]}
三、字典推導式
使用字典推導式創建字典
# 使用字典推導式創建字典
dict1 = {
key:values for (key, values) in []}
dict2 = {
key: values for (key, values) in zip(['a', 'b', 'c'], [1, 2, 'a'])}
print('結果1:', dict1)
print('結果2:', dict2)
結果1:{}
結果2:{‘a’: 1, ‘b’: 2, ‘c’: ‘a’}
以上就是構建python字典的常見用法,可根據實際需求選擇不同的用法。
—end—