Python3字典操作詳解 Python3字典操作大全


 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 defined
36 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 """

 


免責聲明!

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



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