1 # _*_encoding:utf-8_*_
45
46
47 # ------------------------------字典的常用操作----------------------------------
48
49 # 增
50 # dic[key] = value
51 # 当key在原字典中不存在时, 即为新增操作
52
53 # d = {"name": "sz", "age": 18}
54 # print(d, type(d), id(d))
55 #
56 # d["height"] = 180
57 # print(d, type(d), id(d))
58
59
60 # 删
61 # del dic[key]
62 # d = {"name": "sz", "age": 18}
63 # del d["age1"]
64 # print(d)
65
66
67 # dic.pop(key[, default])
68 # 删除指定的键值对, 并返回对应的值
69 # 如果key, 不存在, 那么直接返回给定的default值;
70 # 不作删除动作
71 # 如果没有给定默认值, 则报错
72
73 # v = d.pop("age")
74 # print(v, d)
75
76 # v = d.pop("age1", 666)
77 # print(v, d)
78
79
80
81
82
83 # dic.popitem()
84 # 删除按升序排序后的第一个键值对, 并以元组的形式返回该键值对
85 # 如果字典为空, 则报错
86
87 # d = {"name": "sz", "zge": 18, "a": 123}
88 # d = {}
89 # result = d.popitem()
90 # print(result, d)
91
92
93
94
95
96 # dic.clear()
97 # 删除字典内所有键值对
98 # 返回None
99 # 注意, 字典对象本身还存在, 只不过内容被清空
100 # 注意和del的区别
101
102 # d = {"name": "sz", "zge": 18, "a": 123}
103 # print(d.clear())
104 # print(d)
105
106 # del d
107 # print(d)
108
109
110
111
112
113 # 改
114 # 只能改值, 不能改key
115 # 修改单个键值对
116 # dic[key] = value
117 # 直接设置, 如果key不存在, 则新增, 存在则修改
118 # d = {"name": "sz", "age": 18}
119 # print(d)
120 # d["age1"] = 20
121 # print(d)
122
123
124
125 # 批量修改键值对
126 # oldDic.update(newDic)
127 # 根据新的字典, 批量更新旧字典中的键值对
128 # 如果旧字典没有对应的key, 则新增键值对
129 # d = {"name": "sz", "age": 18}
130 #
131 # d.update({"age": 666, "address": "上海"})
132 # print(d)
133
134
135 # ---------------------查询操作----------------------------
136
137
138 # 获取单个值
139 # 方式1
140 # dic[key]
141 # 如果key, 不存在, 会报错
142 # d = {"name": "sz", "age": 18, 0: "666"}
143 # # print(d["age"])
144 # print(d[0])
145
146
147
148
149 # 方式2
150 # dic.get(key[, default])
151 # 如果不存在对应的key, 则取给定的默认值default
152 # 如果没有默认值, 则为None
153 # 但不会报错
154 # 但是, 原字典不会新增这个键值对
155 # d = {"name": "sz", "age": 18, 0: "666"}
156 # v = d.get("age1", 666)
157 # print(v, d)
158
159
160
161 # 方式3
162 # dic.setdefault(key[, default])
163 # 获取指定key对应的值
164 # 如果key不存在, 则设置给定默认值, 并返回该值
165 # 如果默认值没给定
166 # 则使用None代替
167 # d = {"name": "sz", "age": 18, 0: "666"}
168 # v = d.setdefault("age1", 666)
169 # print(v, d)
170
171
172
173
174
175
176
177 # 获取所有的值
178 # dic.values()
179 # d = {"name": "sz", "age": 18, 0: "666"}
180 # vs = d.values()
181 #
182 #
183 # # 获取所有的键
184 # # dic.keys()
185 # ks = d.keys()
186 #
187 #
188 #
189 # # 获取字典的键值对
190 # # dic.items()
191 # its = d.items()
192 #
193 #
194 # print(vs, ks, its)
195 #
196 #
197 # d["address"] = 999
198 # print(d)
199 #
200 # print(vs, ks, its)
201 #
202 # print(list(vs))
203 # print(tuple(vs))
204
205
206
207 # 先遍历所有的key< 然后, 根据指定的key, 获取到对应的值
208 # d = {"name": "sz", "age": 18, "address": "上海"}
209
210 # 1. 先获取所有的key
211 # keys = d.keys()
212 #
213 # # 2. 遍历所有de key
214 # for key in keys:
215 # print(key)
216 # print(d[key])
217 #
218 #
219 #
220 #
221 # # 直接遍历所有的键值对
222 #
223 # # 1. 获取, 所有的键值对
224 # kvs = d.items()
225 # print(kvs)
226 # # [('name', 'sz'), ('age', 18), ('address', '上海')]
227 #
228 # d["xxx"] = "000"
229 #
230 # # 2. 直接遍历
231 #
232 # for k, v in kvs:
233 # print(k, v)
234
235 d = {"name": "sz", "age": 18, "address": "上海"}
236
237 # 计算
238 # len(info)
239 # 键值对的个数
240 print(len(d))
241
242
243
244 # 判定
245 # x in dic
246 # 判定dic中的key, 是否存在x
247 print(18 in d)
248
249 # x not in dic
250 # 判定dic中的key, 是否不存在x