1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3
4 #01:定义一个字典并初始化,方法一:
5 phonebook = {}
6 phonebook["张三"] = 14722332345
7 phonebook["李四"] = 13645677654
8 phonebook["王五"] = 13812345432
9 print(phonebook)
10
11 #02:定义一个字典并初始化,方法二:
12 phonebook = {
13 "张三" : 14722332345, #中文输入的时候,输入双引号和冒号等特殊符号记得切回英文输入法
14 "李四" : 13645677654,
15 "王五" : 13812345432
16 }
17 print(phonebook)
18
19 #03:字典的迭代输出
20 phonebook = {
21 "张三" : 14722332345,
22 "李四" : 13645677654,
23 "王五" : 13812345432
24 }
25 for name, number in phonebook.items():
26 # print("Phone number of %s is %d" % (name,number))
27 print("\"%s\"的电话号码是: %d" % (name,number))
28
29 #04:删除字典的一个值,方法一:
30 phonebook = {
31 "张三" : 14722332345,
32 "李四" : 13645677654,
33 "王五" : 13812345432
34 }
35 del phonebook["王五"]
36 print(phonebook)
37
38 #05:删除字典的一个值,方法二:
39 phonebook = {
40 "张三" : 14722332345,
41 "李四" : 13645677654,
42 "王五" : 13812345432
43 }
44 phonebook.pop("王五")
45 print(phonebook)
46
47 #06: 增加字典的一个值,
48 phonebook = {
49 "张三" : 14722332345,
50 "李四" : 13645677654,
51 "王五" : 13812345432
52 }
53 phonebook["赵云"] = 13223454567
54 phonebook.pop("王五")
55
56 #判断操作是否成功
57 if "赵云" in phonebook:
58 print("\"赵云\" 在电话簿列表中增加成功")
59 if "王五" not in phonebook:
60 print("\"王五\" 从电话簿列表中移除成功")
61
62 #07字典内置函数&方法
63 phonebook = {
64 "张三" : 14722332345,
65 "李四" : 13645677654,
66 "王五" : 13812345432
67 }
68 #08 Python 字典(Dictionary)Len()方法
69 #描述:Python字典len()函数计算字典元素个数,即键的总数
70 print("字典phonebook Length:%d " % len(phonebook))
71
72 #09 Python 字典str()方法
73 #描述:Python 字典str()函数将值转化为适于人阅读的形式,以可打印的字符串表示
74 print("字典phonebook 字符串: %s " % str(phonebook))
75
76 #10 Python 字典type()方法
77 #描述:Python 字典type()函数返回输入的变量类型,如果变量是字典就返回字典类型
78 print("字典phonebook 类型是:%s " % type(phonebook))
79
80 #11 Python 字典Clear()方法
81 #描述:Python 字典clear()函数用于删除字典内所有元素,无返回值
82 print("字典phonebook 初始Length:%d " % len(phonebook))
83 phonebook.clear()
84 print("字典phonebook clear后Length:%d " % len(phonebook))
85
86 #12 Python 字典copy()方法
87 #描述:Python 字典copy()函数返回一个字典的浅复制
88 phonebook = {
89 "张三" : 14722332345,
90 "李四" : 13645677654,
91 "王五" : 13812345432
92 }
93 phonebook2 = phonebook.copy()
94 print("新的字典phonebook2: %s " % str(phonebook2))
95 #直接赋值:其实就是对象的引用(别名)
96 #浅拷贝(copy): 拷贝父对象,不会拷贝对象的内部的子对象
97 #深拷贝(deepcopy): copy模块的deepcopy方法,完全拷贝了父对象及其子对象
98 a = {"张三": [13523452233,14782330233]}
99 b = a.copy()
100 print(a)
101 print(b)
102 a["张三"].append("0566-8381024")
103 print(a)
104 print(b)
105 import copy
106 c = copy.deepcopy(a)
107 print(a)
108 print(c)
109 a["张三"].append("0566-8381025")
110 print(a)
111 print(c)
112
113 #13 Python 字典fromkeys()方法
114 #描述:Python字典fromkeys()函数用于创建一个新字典,以序列seq中元素做字典的键,
115 # value为字典所有键对应的初始值
116 seq = ('姓名','年龄','性别')
117 info = dict.fromkeys(seq)
118 print("新字典: %s " % str(info))
119 info = dict.fromkeys(seq,'请填写')
120 print("新字典: %s " % str(info))
121
122 #14 Python 字典get()方法
123 #描述:Python字典get()函数返回指定键的值,如果值不在字典中返回默认值
124 phonebook = {
125 "张三" : 14722332345,
126 "李四" : 13645677654,
127 "王五" : 13812345432
128 }
129 print("Value: %s" % phonebook.get('李四'))
130 print("Value: %s" % phonebook.get('天赐',"不存在"))
131
132 #15 Python 字典has_key()方法
133 #描述: Python 字典has_key()函数用于判断键是否存在于字典中,如果键在字典
134 # 里返回true,否则返回fasle。
135 # Python 3.X里不包含has_key()函数,被__contains__(key)替代
136 phonebook = {
137 "张三" : 14722332345,
138 "李四" : 13645677654,
139 "王五" : 13812345432
140 }
141 print("Vlaue: %s" % phonebook.__contains__('张三'))
142 print("Vlaue: %s" % phonebook.__contains__('赵云'))
143
144 #16 Python字典items()方法
145 #描述:Python字典items()函数以列表返回可遍历的(键,值)元组数组
146 www = {
147 'Google' : 'www.google.com',
148 'baidu' : 'www.baidu.com',
149 'taobao' : 'www.taobao.com',
150 'wangyi' : 'www.163.com'
151 }
152 print("字典值:%s " % www.items())
153 # 遍历字典列表
154 for key,value in www.items():
155 print(key,value)
156
157 #17 Python 字典keys()方法
158 #描述: python字典keys()函数以列表返回一个字典所有的键
159 phonebook = {
160 "张三" : 14722332345,
161 "李四" : 13645677654,
162 "王五" : 13812345432
163 }
164 print("Vlaue: %s" % phonebook.keys())
165
166 #18 Python 字典setdefault()方法
167 #描述:Python 字典setdefault()函数和get()方法类似,如果键不
168 # 存在于字典中,将会添加键并将值设置为默认值。
169 www = {
170 'Google' : 'www.google.com',
171 'baidu' : 'www.baidu.com',
172 'taobao' : 'www.taobao.com',
173 'wangyi' : 'www.163.com'
174 }
175 print("Value : %s" % www.setdefault('Google', None))
176 print("Value : %s" % www.setdefault('tianmao', '淘宝'))
177 print(www)
178
179 #19 Python 字典update()方法
180 #描述:Python字典update()函数把字典dict2的键/值对更新到dict里
181 phonebook = {
182 "张三" : 14722332345,
183 "李四" : 13645677654,
184 "王五" : 13812345432
185 }
186 phonebook1 = {
187 "刘备" : 13598762300,
188 "关羽" : 13823323300,
189 "张飞" : 13882382240
190 }
191 phonebook.update(phonebook1)
192 print("Value: %s" % phonebook)
193
194 #20 Python 字典values()方法
195 #描述:Python字典values()函数返回字典中的所有值
196 phonebook = {
197 "张三" : 14722332345,
198 "李四" : 13645677654,
199 "王五" : 13812345432
200 }
201 print("Value : %s " % phonebook.values())