python學習之字典(Dictionary)練習


Python字典是另一種可變容器模型,且可存儲任意類型對象,如字符串、數字、元組等其他容器模型

字典中分為鍵值對 , key 類型需要時被哈希。 value 類型可以是 字符串、數字、元組等其他容器模型

字典的鍵不能是list類型

1 a=[1,2,4,4]
2 dict3={a:'dfdf'}  #運行報錯
3.dict5={'No':'1', b:'zhangsan','age':'20'}

 

 

報錯為:

    

正如錯誤提示,list/set/dict 均不可被哈希。

這一異常通常出現在,調用 set(…) 來構造一個 set (集合類型)時,set() 需要傳遞進來可哈希的元素(hashable items

 list、set、dict:是不可哈希的

1 list.__hash__;#結果為None
2 set.__hash__; #結果為None
3 dict.__hash__; #結果為None

int、float、str、tuple:是可以哈希的

print int.__hash__;# <slot wrapper '__hash__' of 'int' objects>
print float.__hash__; #<slot wrapper '__hash__' of 'float' objects>
print str.__hash__;  #<slot wrapper '__hash__' of 'str' objects>
print tuple.__hash__;#<slot wrapper '__hash__' of 'tuple' objects> 
刪除字典元素

1 刪單一的元素  2  清空字典

dict7 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print dict7; #{'Age': 7, 'Name': 'Zara', 'Class': 'First'}
# 清除key為:Name的鍵值對
del dict7['Name'];  
print dict7; #{'Age': 7, 'Class': 'First'}
dict7.clear(); #清除所有的鍵值對
print dict7;  # {}
del dict7;
print dict7;  #報錯 dict7 未定義

 

字典鍵  

字典鍵不能有重復出現  :鍵賦值時  后面的賦值會把前面的覆蓋掉

比如

dict8= {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print dict8;  # 輸出結果為{'Age': 7, 'Name': 'Manni'}
print dict8['Name'] #Manni

六、字典內置函數&方法
Python字典包含了以下內置函數:
1、cmp(dict1, dict2):比較兩個字典元素。
2、len(dict):計算字典元素個數,即鍵的總數。
3、str(dict):輸出字典可打印的字符串表示。
4、type(variable):返回輸入的變量類型,如果變量是字典就返回字典類型。

 

Python字典包含了以下內置方法:
1、radiansdict.clear():刪除字典內所有元素
2、radiansdict.copy():返回一個字典的淺復制
3、radiansdict.fromkeys():創建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
4、radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果鍵在字典dict里返回true,否則返回false
6、radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組數組
7、radiansdict.keys():以列表返回一個字典所有的鍵
8、radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設為default
9、radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM