0
点赞
收藏
分享

微信扫一扫

【字典-常用方法】

九月的栩 2022-03-11 阅读 79

- 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)

 

 

 

举报

相关推荐

0 条评论