# 字典 字典 dict 字典名={键:值} ## 1,输出字典的键值 ``` dict1={1:1,2:2,3:4,5:6,7:1} print(dict1) ``` ``` dict2={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict2) ``` ## 2,字典的键重复可以输出,但是输出只有一个键,值会重叠 ``` dict4={1:1,1:2,3:4,5:6,7:1} print(dict4) dict5={ '名字1':'周杰伦', '名字1':'林俊杰', '名字3':'胡歌', } print(dict5) ``` ## 3,字典的索引 输出指定键的值 ``` dict6={1:1,2:2,3:4,5:6,7:1} print(dict6[3]) dict7={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict7['名字2']) ``` ## 4,字典名.get(键) 输出get键的值 ``` dict8={1:1,2:2,3:4,5:6,7:1} print(dict8.get(5)) dict9={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict9.get('名字3')) ``` ## 5,字典的新增 字典名[键]=新值 ``` dict10={1:1,2:2,3:4,5:6,7:1} print(dict8) dict10[8]=8 # 增加键值 print(dict10) dict10[1]=9 # 把键为1的值替换为9 print(dict10) dict11={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict11) dict11['名字4']='张学友' # 增加键值 print(dict11) dict11['名字2']='刘德华' # 把键为'名字2'的值替换为'刘德华' print(dict11) ``` ## 6,字典的删除 **字典的del 用法** ``` dict12={1:1,2:2,3:4,5:6,7:1} print(dict12) del dict12[2] print(dict12) dict15={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict15) del dict15['名字2'] print(dict15) ``` **字典的pop 用法** ``` dict13={1:1,2:2,3:4,5:6,7:1} print(dict13) dict13.pop(1) print(dict13) dict16={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict16) dict16.pop('名字1') print(dict16) ``` ## 7,字典的clear() 函数用于删除字典内所有元素。 ``` dict14={1:1,2:2,3:4,5:6,7:1} print(dict14) dict14.clear() print(dict14) dict17={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print(dict17) dict17.clear() print(dict17) ``` ## 8,for循环输出字典的所有键 ``` dict2={1:1,2:2,3:4,5:6,7:1} for i in dict2: print(i) dict3={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } for i in dict3: print(i) ``` ## 9,for循环输出字典的所有键 keys() ``` test1={1:1,2:2,3:4,5:6,7:1} for i in test1.keys(): print(i) test2={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } for i in test2.keys(): print(i) ``` ## 10,for循环输出字典的所有键 values() ``` test3={1:1,2:2,3:4,5:6,7:1} for i in test3.values(): print(i) test4={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } for i in test4.values(): print(i) ``` ## 11,for循环输出字典的所有键值 items() ``` test5={1:1,2:2,3:4,5:6,7:1} for i in test5.items(): print(i) # 输出键值 for key,values in test5.items(): print(key) # 输出键 print(values) # 输出值 test6={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } for i in test6.items(): print(i) ``` ## 12,字典key()函数用法 ``` dict_1 = {1:1,2:2,3:4,5:6,7:1} print ("字典所有的键为 : %s" %dict_1.keys()) dict_2 ={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print ("字典所有的键为 : %s" %dict_2.keys()) ``` ## 13,字典values()函数用法 ``` dict_3 = {1:1,2:2,3:4,5:6,7:1} print ("字典所有的值为 : %s" %dict_3.values()) dict_4 ={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print ("字典所有的值为 : %s" %dict_4.values()) ``` ## 14,字典items()函数用法 ``` dict_5 = {1:1,2:2,3:4,5:6,7:1} print ("字典所有的值为 : %s" %dict_5.items()) dict_6 ={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } print ("字典所有的值为 : %s" %dict_6.items()) ``` ## 15,字典合并 **方法一字典的update()方法** ``` dict_7 = {1:1,2:2,3:4,5:6,7:1} dict_8 = {1:8,2:2,3:5,8:1,9:2} dict_9 = {} dict_9.update(dict_7) dict_9.update(dict_8) print(dict_9) ``` ``` dict_10 ={ '名字1':'周杰伦', '名字2':'林俊杰', '名字3':'胡歌', } dict_11 = {1:8,2:2,3:5,8:1,9:2} dict_12 = {} dict_12.update(dict_10) dict_12.update(dict_11) print(dict_12) #合并两个字典,前面的字典键后面的键只保留一个,但是键的值会被后面的字典覆盖。 ``` ## 16,字典的键值升降排序 ``` dict_1 = {1:5,3:3,2:4,4:7,5:1,6:2} dict1=sorted(dict_1.keys()) **#对字典的所有键排序** print(dict1) dict2=sorted(dict_1.items(), key=lambda x: x[0])#对字典(key,value)**#按照key的大小升序排列** print(dict2) dict3=sorted(dict_1.items(), key=lambda x: x[0], reverse=True)#对字典(key,value)**#按照key的大小降序排列** print(dict3) dict4=sorted(dict_1.items(), key=lambda x: x[1])#对字典(key,value)**#按照value的大小升序排列** print(dict4) dict5=sorted(dict_1.items(), key=lambda x: x[1], reverse=True)#对字典(key,value)**#按照value的大小降序排列** print(dict5) ```