011-python基础-数据类型-字典
字典一种key - value 的数据类型,key是唯一的。
字典是无序的,默认。
一、创建
1 info = { 2 'stu1101': "TengLan Wu", 3 'stu1102': "LongZe Luola", 4 'stu1103': "XiaoZe Maliya", 5 }
二、增加
1 >>> info["stu1104"] = "苍井空" 2 >>> info 3 {'stu1102': 'LongZe Luola', 'stu1104': '苍井空', 'stu1103': 'XiaoZe Maliya', 'stu1101': 'TengLan Wu'}
三、修改
1 >>> info['stu1101'] = "武藤兰" 2 >>> info 3 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤兰'}
四、删除
1 >>> info 2 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1101': '武藤兰'} 3 >>> info.pop("stu1101") #标准删除姿势 4 '武藤兰' 5 >>> info 6 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} 7 >>> del info['stu1103'] #换个姿势删除 8 >>> info 9 {'stu1102': 'LongZe Luola'} 10 >>> 11 >>> 12 >>> 13 >>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} 14 >>> info 15 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} #随机删除 16 >>> info.popitem() 17 ('stu1102', 'LongZe Luola') 18 >>> info 19 {'stu1103': 'XiaoZe Maliya'}
五、查找
1 >>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} 2 >>> 3 >>> "stu1102" in info #标准用法 4 True 5 >>> info.get("stu1102") #获取 6 'LongZe Luola' 7 >>> info["stu1102"] #同上,但是看下面 8 'LongZe Luola' 9 >>> info["stu1105"] #如果一个key不存在,就报错,get不会,不存在只返回None 10 Traceback (most recent call last): 11 File "<stdin>", line 1, in <module> 12 KeyError: 'stu1105'
六、多级字典嵌套及操作(略)
七、循环字典
1 #方法1 2 for key in info: 3 print(key,info[key]) 4 #方法2 5 for k,v in info.items(): # 会先把dict转成list,数据里大时莫用 6 print(k,v)
八、其他
1 #values 2 >>> info.values() 3 dict_values(['LongZe Luola', 'XiaoZe Maliya']) 4 #keys ##相对常用 5 >>> info.keys() 6 dict_keys(['stu1102', 'stu1103']) 7 #setdefault 8 >>> info.setdefault("stu1106","Alex") 9 'Alex' 10 >>> info 11 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'} 12 >>> info.setdefault("stu1102","龙泽萝拉") 13 'LongZe Luola' 14 >>> info 15 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'} 16 #update 17 >>> info 18 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'} 19 >>> b = {1:2,3:4, "stu1102":"龙泽萝拉"} 20 >>> info.update(b) 21 >>> info 22 {'stu1102': '龙泽萝拉', 1: 2, 3: 4, 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'} 23 #items 24 info.items() 25 dict_items([('stu1102', '龙泽萝拉'), (1, 2), (3, 4), ('stu1103', 'XiaoZe Maliya'), ('stu1106', 'Alex')]) 26 #通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个 27 >>> dict.fromkeys([1,2,3],'testd') 28 {1: 'testd', 2: 'testd', 3: 'testd'}