python学习-字典的增删改查
Posted ershoupaoche
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-字典的增删改查相关的知识,希望对你有一定的参考价值。
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 None 8 {‘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()) #返回None 2 print(dic1) 3 """ 4 结果为: 5 None 6 {} 7 """
方法4:使用del,删除指定的键值对(没有键则报错),或者删除整个字典
1 del dic1[‘id‘] 2 print(dic1) 3 del dic1 4 """ 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 19 5 ‘‘‘
方法2:使用 get() 方法查询键对应的值,返回值,没有该键则返回None,可设置返回值
1 print(dic1.get(‘age‘)) 2 print(dic1.get(‘age1‘)) 3 print(dic1.get(‘age1‘,‘没有对应的键‘)) 4 ‘‘‘ 5 结果为: 6 19 7 None 8 没有对应的键 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 paoche 6 age 19 7 active [‘beijing‘, ‘hebei‘] 8 id {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘} 9 ‘‘‘
以上是关于python学习-字典的增删改查的主要内容,如果未能解决你的问题,请参考以下文章