- update函数:添加新的字典,如果新字典中有和原字典相同的key,则该key的value会被新字典的value覆盖
- dict.update(new_dict)
students = {'name':'xiaolan','age':17,'id':1} xiaoyun = {'name':'xiaoyun','age':16,'id':3} xiaoyun['top'] = 174 print(xiaoyun) xiaoyun['name'] = '小云' print(xiaoyun) students.update(xiaoyun) print(students) students.setdefault('name','xiaoming') print(students) students.setdefault('class','B') print(students)
- keys函数,获取字典中所有key
- dict.keys(),返回一个key集合的伪列表
- dict.values(),返回一个value集合的伪列表
students = {'name':'Mark','age':17,'id':1,'class':'B'} xiaoyun = {'name':'xiaoyun','age':16,'id':3} students_key = list(students.keys()) students_value = list(students.values()) print(students_key,students_value) print('{} | {} | {} | {}'.format(students_key[0], students_key[1],students_key[2],students_key[3],)) print('{} | {} | {} | {}'.format(students_value[0], students_value[1],students_value[2],students_value[3],)) print('Luck | 18 | 7 | A') # 结合后续数据库
字典中值的获取【】,get
区别:【】获取不到会直接报错,get获取不到对应key值时返回默认值
性能:【】获取速度比get更快,但如果不存在则报错,两种方法灵活使用
students = {'name':'xiaolan','age':17,'id':1,'class':'B'} values = [] values.append(students['name']) values.append(students['age']) values.append(students['id']) values.append(students['class']) print(values) # values.append(students['birthday']) #不存在,报错 values.append(students.get('birthday')) print(values) values.append(students.get('birthday','1988-09-08')) print(values) values.append(students.get('class','C')) print(values)
字典的删除,clear(清空),pop(删除并返回值,不存在报错),del()
projects = {'ipad':{'name':'ipad','price':3000}, 'notebook':{'name':'notebook','price':2000}, 'iphone': {'name': 'iphone', 'price': 7000}, 'Mac': {'name': 'Mac', 'price': 8000}} print(projects.keys()) print('mark购买{},价格{}'.format(projects['ipad']['name'],projects['ipad']['price'])) projects.pop('ipad') print(projects.keys()) result = projects.pop('Mac') print('Luck购买了{},价格是{}'.format(result['name'],result['price'])) print(projects.keys()) print('{}和{}都卖出了,总价格为{}元'.format( projects['notebook']['name'],projects['iphone']['name'], (projects['notebook']['price']+projects['iphone']['price']))) projects.clear() print(projects) del projects
projects = {'小猫':10,'小狗':7,'吉娃娃':18} animals = projects.copy() print(animals) animals['波斯猫'] = 8 animals['藏獒'] = 2 print(animals) animals['小猫'] -= 4 animals['小狗'] = animals['小狗'] -5 print(animals) animals.clear() print(animals) animals = projects.copy() print(animals)
- in 与 not in
- popitem,删除当前字典里末尾一组键值对,并将其返回(元组)
projects = {'小猫':10,'小狗':7,'吉娃娃':18,'a':None} print('a' in projects) print(bool(projects.get('a'))) print('nn' in projects) projects.pop('a') print(projects) result = projects.popitem()#从最后一位开始删除并返回 print('{}有{}只'.format(result[0],result[1])) result = projects.popitem() print('{}有{}只'.format(result[0],result[1])) result = projects.popitem() print('{}有{}只'.format(result[0],result[1])) print(projects)