python之詞典(dict)資料型別
一:基本格式:
myChat = { 'size': 'fat' , 'color':'gray' , 'disposition':'loud' }
其中,'size','color','disposition'是鍵;'fat'、'gray'、'loud'是鍵對應的數值。
類似於C++中的map<key,value>與map不同的是,字典本身是不具備排序功能的
二:keys() 、values() 、 items()方法
例子:
spam = { 'color':'red' , 'age':42 }
keys() -------- 字典的鍵
資料型別:dict_keys
spam.keys()
答案:dict_keys(['color' , 'age'])
list(spam.keys())
答案:['color' , 'age']
values() --------- 字典的值
for k in spam.keys():
print(k)
答案:
color
age
資料型別:dict_values
for v in spam.values():
print(v)
答案:
red
42
items() ---------- 字典的鍵-值
資料型別:dict_items
for i in spam.items():
print(i)
答案:
('color' , 'red')
('age' , 42)
三:檢查字典中是否存在鍵或值
spam = {'name':'Zophie','age':7}
'name' in spam.keys()
答案:True
'Zophie' in spam.values()
答案:True
'color' in spam.keys()
答案:False
'color' not in spam.keys()
答案:True四:get()方法
有兩個引數:(1)要取得其值得鍵(2)如果該鍵不存在,返回的備用值
例子;
picnicItems = {'apple':5 , 'cups':2}
>>>'I am bringing' + str(picnicItems.get('cups',0)) + 'cups'
答案:I am bringing 2 cups
>>>'I am bringing' + str(picnicItems.get('eggs',0)) + 'cups'
答案:I am bringing 0 cups
五:setdefault()方法
你常常需要為字典中某個鍵值設定一個預設值,當該鍵沒有任何價值時使用它。
程式碼看起來好像是這個樣子的:
spam = {'name':'Pooka' , 'age':5}
if 'color'not in spam:
spam['color'] = 'black'
setdefault()方法提供了一種方式,在一行中完成這件事。
傳遞給該方法的引數:
(1)要檢查的鍵
(2)如果該鍵不存在時,要設定的值
如果該鍵確實存在,方法就會返回鍵的值。
以下是簡單例子:
>>> spam = {'name':'Pooka' , 'age':5}
>>> spam.setdefault('color','black')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }
>>> spam.setdefault('color','white')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }
例子解釋:
第一次呼叫setdefault()時,spam變數中的字典變為{'color':'black' , 'age':5 , 'name':'Pooka' },該返回值'black'。因為現在改值被賦給鍵'color'。
當spam.setdefalut('color','write')接下來被呼叫時,該鍵的值“沒有”被改變成'write'。因為spam變數已經有名為'color'的鍵了。