码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-01-09 22:20:05      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:dict   lse   合并   get   value   创建   fine   pop   erro   

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

 

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

标签:dict   lse   合并   get   value   创建   fine   pop   erro   

原文地址:https://www.cnblogs.com/skings/p/10247111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!