这种方法是经过字典的kye给字典添加元素,若是字典里已存在该key的值,则会覆盖,若是不存在,则会添加,以下如:python
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 3 dic['addr'] = 'henan' 4 print(dic) 5 #输出结果为:{'age': 29, 'addr': 'henan', 'name': 'fuyong', 'job': 'none'} 6 dic['addr'] = 'xinyang' 7 print(dic) 8 #输出结果为:{'age': 29, 'addr': 'xinyang', 'name': 'fuyong', 'job': 'none'}
此方法是根据函数对字典进行增添元素,参数为(‘key’,‘value’) value默认为none数据结构
与直接用 dict[key] = value 的添加元素方法不一样,用setdefault(key,value)方法的时候,若是字典没有该key的时候,则会正常添加,若是以及有了该key,那么将不进行操做(不会覆盖原来的值)函数
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 dic.setdefault('name','lixiang') 3 print(dic) #结果不会改变: {'age': 29, 'name': 'fuyong', 'job': 'none'} 4 5 dic.setdefault('height') 6 print(dic) #结果:{'age': 29, 'name': 'fuyong', 'height': None, 'job': 'none'} 7 8 dic.setdefault('addr','henan') 9 print(dic) #结果 {'addr': 'henan', 'age': 29, 'name': 'fuyong', 'height': None, 'job': 'none'}
▷pop(key)方法:spa
与列表的pop()方法不一样,字典的pop()方法必须得给它传一个key值,若是字典里没有该key,则会报错。code
也能够用 pop(key,'返回值') 来指定返回值,此时,当找不到key的时候,则不会报错,会将指定的返回值返回对象
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 dic.pop('job') 3 print(dic) #结果为:{'age': 29, 'name': 'fuyong'} 4 5 dic.pop('job') 6 print(dic) #此时以及没有job的key,就会报错 KeyError: 'job'
print(dic.pop('addr','henan')) #此时虽然找不到‘addr’key,可是不会报错,而且将‘henan’返回
print(dic) #此时字典没有被改变 :{'name': 'fuyong', 'age': 29}
▷popitem()方法:blog
此方法相似于列表的pop()方法,用来随机删除一个元素,返回删除的那个元素的(健,值),以下:索引
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic.popitem()) #结果为('name', 'fuyong') 3 print(dic) #结果为:{'job': 'none', 'age': 29}
▷del list[key]字符串
此方法用来删除字典种指定key以及它所对应的value,若是找不到该key,则会报错,以下:get
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 del dic['job'] 3 print(dic) #结果为:{'age': 29, 'name': 'fuyong'} 4 5 del dic['job'] 6 print(dic) #此时字典里已经没有job值,则会报错:KeyError: 'job'
▷clear()方法:
该方法与列表的clear()方法相似,用来清空字典,以下:
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 dic.clear() 3 print(dic) #结果为:{}
▷del dic
该方法用来删除整个字典,以下:
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 del dic 3 print(dic) #此时dic已经被删除,不存在了,因此会报错:NameError: name 'dic' is not defined
这种方法是经过字典的kye来修改对应的value值,若是字典里已存在该key的值,则会修改,若是不存在,则会从新添加
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 3 dic['addr'] = 'henan' #此时没有addr的key 则会添加 4 print(dic) 5 #输出结果为:{'age': 29, 'addr': 'henan', 'name': 'fuyong', 'job': 'none'} 6 7 dic['addr'] = 'xinyang' #此时以及有addr的key 则会修改 8 print(dic) 9 #输出结果为:{'age': 29, 'addr': 'xinyang', 'name': 'fuyong', 'job': 'none'}
该方法是用来追加、拓展原字典元素。
参数必须为一个字典,以下:
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 dic.update({'addr':'henan'}) 3 print(dic) #结果为:{'job': 'none', 'addr': 'henan', 'age': 29, 'name': 'fuyong'}
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 dic.update({'addr':'henan','name':'lixiang'}) 3 print(dic) 4 #结果为:{'addr': 'henan', 'name': 'lixiang', 'job': 'none', 'age': 29}
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic['name']) #结果为:fuyong 3 print(dic['addr']) #搜索不到,会报错。KeyError: 'addr'
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic.get('name')) #结果为:fuyong 3 print(dic.get('addr')) #结果为:none 4 print(dic.get('addr','找不到该数据')) #结果为:找不到该数据
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic.keys()) 3 # 结果:dict_keys(['name', 'age', 'job']) 4 5 for key in dic.keys(): 6 print(key) 7 # 结果为: 8 # job 9 # name 10 # age
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic.values()) 3 # 结果:dict_values(['none', 29, 'fuyong']) 4 5 for value in dic.values(): 6 print(value) 7 # 结果为: 8 # none 9 # 29 10 # fuyong
1 dic = {'name':'fuyong','age':29,'job':'none'} 2 print(dic.items()) 3 # 结果:dict_items([('job', 'none'), ('name', 'fuyong'), ('age', 29)]) 4 5 for k,v in dic.items(): 6 print(k,v) 7 # 结果为: 8 # job none 9 # name fuyong 10 # age 29