1. 程式人生 > >python之詞典(dict)資料型別

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'的鍵了。