1. 字典
应用:
貂蝉 ---['屠龙刀','手榴弹'] 800
诸葛亮 ----['鹅毛扇','碧血剑','98k枪'] 300
字典:
特点:
1.符号:{}
2.关键字:dict
3.保存的元素是:key:value
列表 元组 字典
[] () {}
list tuple dict
element element key:value
[].append(8)
element 元素
dict1 = {}
dict2 = dict()
dict3 = {'ID':'123456789','name':'lucky','age':18}
dict4 = dict(['name','lucky',('age',18)])
print(dict4)
dict5 = dict([(1,2),(4,5),(6,8),(9,0)])
print(dict5)
dict6 = {}
dict6['brand'] = 'huawei'
print(dict6)
dict6['brand']= 'mi'
print(dict6)
dict6['type']='p30 pro'
dict6['price']=9000
dict6['color']= '黑色'
print(dict6)
案例:
用户注册功能:
username
pasword
email
phone
print('----------------------欢迎来到智联招聘用户注册-------------------------')
username = input('输入用户名:')
pasword = input('输入密码:')
repassword = input('输入确认密码:')
email = input('输入邮箱:')
phone = input('输入手机号:')
user = {}
user['username'] = username
if pasword == repassword:
user['password'] = pasword
else:
print('两次密码不一致!')
user['email'] = email
user['phone'] = phone
database.append(user)
answer = input('是否继续注册?(y/n)')
if answer != 'y':
break
print(database)
2字典的items操作
增加元素(key:value)
dict[key] = value ------->{key:value}
特点:key在字典中是唯一的,value值可以是不唯一
{'name':'tom','name':'aaa'} 错误定义
{'张三',100,'李四':100,‘王五’:100} 正确
查询元素
list1 = []
list1.append(element)
dict1 = {}
dict1[key] = value
修改:
list1[index] = newvalue
lict1[key] = newvalue
查询元素:
list1[index] ------> element
dict1[key] ------> value
取值:字典都是根据key获取value值
3.python字典操作中的get函数
list1 = [3,5,7,8]
print(list1[2])
dict1 = {'0':'张三','1':'李四','2':'王五'}
print(dict1['2'])
dict2 = {'张三':100,'李四':100,'王五':89,'赵柳':99}
print(dict2['王五'])
for value in dict2:
print(value)
print(dict2.items())
for key,value in dict2.items():
if value>90:
print(key)
result = dict2.values()
print(result)
for score in dict2.values():
print(score)
scores = dict2.values()
totle = sum(scores)
avg = totle/len(dict2.values())
print(avg)
names = dict2.keys()
print(names)
for name in names:
print(name)
print('王五' in dict2)
'''
1.根据key获取值,如果key在字典中没有存在则报出keyError
dict[key] = value
2.字典的内置函数:
get() --------->value 如果取不到到值则不会报错,则返回None
get(key,defalut) -------->value 如果能取到值则返回字典中的值,如果取不到则返回default的值
'''
print(dict2.get('赵飞'))
print(dict2.get('赵飞'),99)
4.python字典中的删除
list1 = [3,7,9,0]
del list1[1]
print(list1)
dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99}
result = dict1.pop('李四')
print(result)
result = dict1.pop('张小三','字典中没有此键')
print('=======>',result)
print(dict1)
dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99}
result = dict1.popitem()
print(result)
print(dict1)
resutl = dict1.popitem()
print(result)
print(dict1)
dict1.clear()
print(dict1)
'''
#删除:
del dict[key]
dcit.pop(key[,default])
dict.popitem()
dict.clear()
'''
'''
其他的内置函数
update() []+[] 合并
fromkeys(seq) ---------->将seq转成字典的形式 如果没有指定默认的value则用None
new_dict = dict.fromkeys(list1) {'aa': None, 'bb': None, 'cc': None}
----------->如果指定default,则用default替代None这个vaule值
new_dict = dict.fromkeys(list1,10) {'aa': 10, 'bb': 10, 'cc': 10}
'''
print('--------------------')
dict1 = {0:'tom',1:'jack',2:'lucy'}
dict2 = {0:'lily','4':'ruby'}
result = dict1.update(dict2)
print(dict1)
print(result)
print('++++++++++++++++')
list1 = ['aa','bb','cc']
new_dict = dict.fromkeys(list1,10)
print(new_dict)