python 字典的一些操做

建立字典的方式

方式一:python

a={'a':1,'b':2,'c':3}app

方式二:spa

a = dict(a=1,b=2,c=3)code

方式三:blog

seq = ('z', 'x', 'y')
di = dict.fromkeys(seq, 10) #fromkeys()建立一個新字典,以序列seq中元素作字典的鍵,val爲字典全部鍵對應的初始值字符串

print(di) #沒有10時鍵默認None{'z':None, 'x':None, 'y':None}get

print(di) #{'z':10, 'x':10, 'y':10}it

-------------------------------class

經常使用方法:date

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

dic2 = {"郭靖":"黃蓉", "張無忌":"趙敏", "楊過":"小龍女", "apple":"蘋果"}

print(dic.keys()) #返回迭代器 dict_keys(['apple', 'dog', 'cat', 'jack'])

print(list(dic.keys())) #用list直接轉換成列表 ['apple', 'dog', 'cat', 'jack']

print(dic.values()) #同上

print(dic.items()) #dict_items([('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')])

print(list(dic.items())) #[('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')]

dic.setdefault("apple", '100') #設置值,K存在,返回Key對應的值,Key不存在,就添加到字典,返回剛設置的值

dic1.update(dic2) #d1中沒有鍵的就添加進來,d1中有的鍵,其值就用d2中的值替換

dic1.get("apple", "默認") #返回指定鍵對應的值,沒有就返回默認

str(dict)輸出字典可打印的字符串表示.

dict.copy()返回一個字典的淺拷貝

dict.has_key(key)若是鍵在字典dict裏返回true,不然返回false,python3沒有該方法

 

字典刪除:

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

del dic1["apple"] 

del dic1  刪除此字典

dic1.clear() 清空字典

print(dic.pop("apple", "NoKey")) #刪除apple:001 這對元素,返回key對應的值,不存在鍵,就返回默認值NoKey 

print(dic.popitem()) #返回並刪除字典中的最後一位鍵值對,若是字典已經爲空,卻調用了此方法,就報出 KeyError 異常

 

python實現兩個字典合併

方法一:藉助dict(d1.items() + d2.items())的方法

1 a={'a':1,'b':2,'c':3} 2 b= {'aa':11,'bb':22,'cc':33} 3 dict(a.items()+b.items()) 4 # 結果:
5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法二:藉助字典的update()方法

1 a={'a':1,'b':2,'c':3} 2 b= {'aa':11,'bb':22,'cc':33} 3 c={} 4 c.update(a) 5 c.update(b) 6 print(c) 7 # 結果:
8 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法三:藉助字典的dict(d1, **d2)方法

1 a={'a':1,'b':2,'c':3} 2 b= {'aa':11,'bb':22,'cc':33} 3 dict(a,**b) 4 # 結果:
5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法四:藉助字典的常規處理方法

 1 a={'a':1,'b':2,'c':3}  2 b= {'aa':11,'bb':22,'cc':33}  3 c = {}  4 for k,v in a.items():  5     c[k] = v  6 for k,v in v.items():  7     c[k] = v  8 print(c)  9 # 結果:
10 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

 

python 遍歷字典

遍歷鍵:

1 dict = {'Name': 'Runoob', 'Age': 7} 2 for i in dict: 3     print(i)

遍歷值:

1 dict = {'Name': 'Runoob', 'Age': 7} 2 for i in dict.values() 3     print(i)

遍歷鍵和值:

1 dict.items() 2 for key,value in dict.items(): 3     print(key) 4     print(value)
相關文章
相關標籤/搜索