1 dic1 = { 'name':'paoche',2 'age':19,3 'active':['beijing','hebei'],4 'id':{ 'wangyi':'skmdod008b',5 'sina':'skmdod00bc'6 }7 }
一、字典的增
方法1:直接新增键值对,若无此键则新增键值对,有此键则修改值
1 dic1['high'] = 180 #没有键值对,则追加2 dic1['age'] = 30 #有键值,则修改3 print(dic1)4 """5 结果为:6 {'name': 'paoche', 'age': 19, 'active': ['beijing', 'hebei'], 'id': {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}}7 {'name': 'paoche', 'age': 30, 'active': ['beijing', 'hebei'], 'id': {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}, 'high': 180}8 """
方法2:通过 setdefault()方法,若无此键则新增键值对,有此键则不做任何操作
1 dic1.setdefault('weight',185) #没有键值对,则追加2 dic1.setdefault('name','xiaobai') #有键值,则不做任何操作3 print(dic1)4 """5 结果为:6 {'name': 'paoche', 'age': 19, 'active': ['beijing', 'hebei'], 'id': {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}, 'weight': 185}7 """
二、字典的删
方法1:使用 pop() 方法,按键删除,返回被删除的键值对中的值,没有对应的键则报错,可以设置没有键时返回的值
1 print(dic1.pop('id')) #按键删除,返回被删除的键值对中的值,没有对应的键则报错2 print(dic1.pop('id',None)) #按键删除,若没有该键,则返回指定的值,一般返回None,也可以是任意内容3 print(dic1)4 """5 结果为:6 {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}7 None8 {'name': 'paoche', 'age': 19, 'active': ['beijing', 'hebei']}9 """
方法2:使用 popitem() 方法,随机删除键值对,返回被删除键值组成的元组
1 print(dic1.popitem()) #随机删除,返回被删键值组成的元组2 """3 结果为:4 ('id', {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'})5 """
方法3:使用 clear() 方法,清空字典,返回值为None
1 print(dic1.clear()) #返回None2 print(dic1)3 """4 结果为:5 None6 {}7 """
方法4:使用del,删除指定的键值对(没有键则报错),或者删除整个字典
1 del dic1['id']2 print(dic1)3 del dic14 """5 结果为:6 {'name': 'paoche', 'age': 19, 'active': ['beijing', 'hebei']}7 """
三、字典的改
方法1:通过键,直接改值
1 dic1['age'] = 30
方法2:使用 update() 方法
1 dic2 = { 2 'name':'paoche', 3 'age':19 4 } 5 dic3 = { 6 'age':30, 7 'weight':180 8 } 9 dic2.update(dic3) #将dic3中的数据更新dic2,有则修改,没有则新加10 print(dic2)11 """12 结果为:13 {'name': 'paoche', 'age': 30, 'weight': 180}14 """
四、字典的查
方法1:直接通过键查询值,没有该键则报错
1 print(dic1['age'])2 '''3 结果为:4 195 '''
方法2:使用 get() 方法查询键对应的值,返回值,没有该键则返回None,可设置返回值
1 print(dic1.get('age'))2 print(dic1.get('age1'))3 print(dic1.get('age1','没有对应的键'))4 '''5 结果为:6 197 None8 没有对应的键9 '''
方法3:使用 keys() 方法,查询所有的键,返回列表
1 print(dic1.keys())2 '''3 结果为:4 dict_keys(['name', 'age', 'active', 'id'])5 '''
方法4:使用 values() 方法,查询所有的值,返回所有值组成的列表
1 print(dic1.values())2 '''3 结果为:4 dict_values(['paoche', 19, ['beijing', 'hebei'], {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}])5 '''
方法5:使用 items() 方法,获取所有键值对,返回列表,每个元素为键值对组成的元组
1 print(dic1.items())2 '''3 结果为:4 dict_items([('name', 'paoche'), ('age', 19), ('active', ['beijing', 'hebei']), ('id', {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'})])5 '''
items()取出的列表可以直接赋值给变量使用
1 for k,v in dic1.items():2 print(k,v)3 '''4 结果为:5 name paoche6 age 197 active ['beijing', 'hebei']8 id {'wangyi': 'skmdod008b', 'sina': 'skmdod00bc'}9 '''