Python3字典操作詳解 Python3字典操作大全
阿新 • • 發佈:2019-01-10
utf keys not pda odin 需要 ems 同時 usr
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #Python3字典操作詳解 Python3字典操作大全 5 6 #字典是無序的(因為它沒有下標),key必須是唯一的 7 #字典是可變的,可以修改和添加 8 #創建字典 9 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 10 #查找字典的值value 11 #方法1 12 print(info[‘heihei‘]) #13 此方法必須確定字典中存在此key否則會報錯 13 #方法2 推薦使用 14 print(info.get(‘heihei‘)) #13 當字典中沒有此key時,會返回None 15 #修改字典 16 info[‘wowo‘] = 14 17 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14} 18 #添加字典元素 19 info[‘loulou‘] = 15 20 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15} 21 #刪除字典元素 22 #方法1 23 del info[‘haha‘] 24 print(info) #{‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15}25 #方法2 26 a = info.pop(‘heihei‘) 27 print(a) #13 pop刪除字典的同時會返回該key對應的值 28 print(info) #{‘wowo‘: 14, ‘loulou‘: 15} 29 #方法3 30 b = info.popitem() #隨機刪除一個字典元素 31 print(b) #(‘loulou‘, 15) popitem刪除字典的同時會以元組的形式返回該元素的key和value 32 print(info) #{‘wowo‘: 14} 33 #刪除整個字典 34 #del info 35 #print(info) #NameError: name ‘info‘ is not defined36 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 37 #判斷某個key是不是在這個字典裏 38 print(‘wahaha‘ in info) #False 39 print(‘haha‘ in info) #True 40 41 #多級字典的嵌套和操作 42 book = { 43 ‘中國‘:{‘a‘:[‘好‘,‘不好‘],‘b‘:[‘好‘,‘不好‘]}, 44 ‘美國‘:{‘c‘:[‘好‘,‘不好‘], ‘d‘:[‘好‘,‘不好‘]}, 45 ‘日本‘:{‘e‘:[‘好‘,‘不好‘]} 46 } 47 print(book) 48 #修改多級字典的value 49 book[‘中國‘][‘b‘][0] = ‘ok‘ 50 print(book) 51 print(‘+_+_+_+_+_+_+_+_+_+_+_+_+_+_+‘) 52 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 53 print(info.values()) #dict_values([12, 13, 45]) 打印字典的所有值value 54 print(info.keys()) #dict_keys([‘haha‘, ‘heihei‘, ‘wowo‘]) 打印字典的所有鍵key 55 print(list(info.values())) #[12, 13, 45] 將字典所有的value轉成list 56 print(list(info.keys())) #[‘haha‘, ‘heihei‘, ‘wowo‘] 將字典所有的key轉成list 57 print(info.setdefault(‘ww‘,78)) #78 58 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78} 增加一個‘ww‘: 78 字典對象 59 print(info.setdefault(‘haha‘, 34)) #12 60 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78} 61 #‘haha‘的value並沒有改成34 62 # Python 字典 setdefault() 方法和 get() 方法類似,返回指定鍵的值, 63 # 如果鍵不在字典中,將會添加鍵並將值設置為一個指定值,默認為None。 64 # get() 和 setdefault() 區別: setdefault() 返回的鍵如果不在字典中, 65 # 會添加鍵(更新字典),而 get() 不會添加鍵。 66 print(‘+++++++++++++================-‘) 67 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 68 b = {‘ss‘:99, ‘haha‘:88} 69 info.update(b) #沒有返回值 70 print(info) #{‘haha‘: 88, ‘heihei‘: 13, ‘wowo‘: 45, ‘ss‘: 99} update()方法合並兩個字典,並修改/增加字典對象 71 print(info.items()) #dict_items([(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)]) 72 #返回字典所有的key和value 73 print(list(info.items())) #[(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)] 74 75 #字典的循環 76 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 77 #方法1(推薦使用) 78 for i in info: 79 print(i, info[i]) #方法1 效率比較高,因為它是直接通過key找過val 80 81 """ 82 haha 12 83 heihei 13 84 wowo 45 85 """ 86 #方法2 87 for key,val in info.items(): #效率沒有方法高,因為它需要把字典轉成列表 88 print(key, val) 89 """ 90 haha 12 91 heihei 13 92 wowo 45 93 """
Python3字典操作詳解 Python3字典操作大全