Python基础阶段:字典常用操作
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