#字典類型 #建立字典 #空字典 var = dict() print(var,type(var)) var = {} print(var,type(var)) #建立具備多個數據的字典 #1. var = {'黑':'black','白':'white','藍':'blue'} print(var,type(var)) #2. var = dict({'黑':'black','白':'white','藍':'blue'}) print(var,type(var)) #3. var = dict(黑 = 'black',白 = 'white',藍 = 'blue') print(var,type(var)) #4. var = [ ['黑','black'], ['白','white'], ['藍','blue'] ] result = dict(var) print(result,type(result)) #5. keys = ['黑','白','藍'] values = ['black','white','blue'] result = dict(zip(keys,values)) print(result,type(result)) #元素 -> 鍵值對 -> 鍵+值 #基本操做 var = {'趙雲':'子龍','龐統':'士元','郭嘉':'奉孝','魯肅':'子敬'} #訪問字典: print(var['趙雲']) #修改字典 var['郭嘉'] = '天妒' print(var) #刪除元素 del var['郭嘉'] print(var) #添加元素 var['周瑜'] = '公瑾' print(var) #序列操做 #成員檢測 ->針對於鍵的操做而不是值 var = {'趙雲':'子龍','龐統':'士元','郭嘉':'奉孝','魯肅':'子敬'} result = '士元' in var print(result) #len() 檢測字典中元素的個數 var = {'趙雲':'子龍','龐統':'士元','郭嘉':'奉孝','魯肅':'子敬'} result = len(var) print(result) #max() 獲取字典中最大的鍵若是不是數字鍵 獲取最大編碼的值 var = {'a':1,'b':2,'c':3,'晷':12} result = max(var) print(result) #min() 獲取字典中最小的鍵若是不是數字鍵 獲取最小編碼的值 var = {'a':1,'b':2,'c':3,'晷':12} result = min(var) print(result) #字典的遍歷 var = {'趙雲':'子龍','龐統':'士元','郭嘉':'奉孝','魯肅':'子敬'} #方法1:先遍歷鍵,再使用變量和鍵來獲取對應的值 for i in var: print(i,var[i]) #方法2:同時遍歷鍵和值 result = var.items() print(result,type(result))#不是標準的列表類型 for k,v in var.items(): print(k,v) #字典推導式 var = {'ag':'sfsf','bg':'fsdf','cg':'df'} #普通推導式 result = {k:v for k,v in var.items()} print(result) #帶有判斷條件的推導式 result = { k:v for k,v in var.items() if len(v) == 2} print(result) #多循環的字典推導式 girls= {'zb':'bo','mm':'mei','jj':'jun'} boys = {'ll':'le','ff':'fei','ji':'jiao'} result = { g+b:gv +bv for g,gv in girls.items() for b,bv in boys.items()} print(result) #字典相關函數 var = {'孫行者':'孫悟空','沙和尚':'沙悟淨','豬八戒':'豬悟能'} #clear 清空字典 var.clear() print(var,id(var)) #copy() 複製字典 newvar = var.copy() print(newvar,id(newvar)) #fromkeys() 使用序列(鍵)和指定的值(值)製做一個字典 list = ['fda','fsd','jgj','hfg'] result = dict.fromkeys(list,'小鳥') result = {}.fromkeys(list,'小鳥') print(result) #get() 獲取字典中指定鍵的值 result = var.get('豬八戒','默認值')#result =var['豬八戒'] print(result) #setdefault() 向字典中添加一個元素[不存在的鍵則添加,存在的鍵不作任何操做] var.setdefault('小白龍','小白龍') print(var) #update() 修改字典中的元素 var.update(孫行者 = '孫猴子') print(var) var.update({'孫行者':'齊天大聖','豬八戒':'天蓬元帥','唐僧':'唐玄奘'}) print(var) #pop() 刪除字典中指定的元素 result = var.pop('唐僧') print(var) print(result) #popitem() 隨機刪除字典中的一個元素 result = var.popitem() print(var) print(result) #keys() 獲取字典中的全部鍵組成的容器 var = {'蘋果':'Apple','梨':'pear'} result = var.keys() print(result) for i in result: print(i) #values() 獲取字典中的因此值組成的容器 result = var.values() print(result) #items() 獲取字典中的全部鍵和值組成的2級容器 result = var.items() print(result)