#dictionary 字典

字典:
1. 符号:{}
2. 关键字:dict
3. 保存的元素:key : value (键:值)
(element 元素)

1 dic={}         #空字典定义
2 dic1=dict()    #空字典定义
3 dic2={'id':'19347234829234','name':'lily','age':'24'}  #字典元素成对出现
4 
5 dic3=dict([('name','lily'),('age','25')])
6 print(dic3)

#字典的增删改查:如果在字典中存在同名的key,则覆盖,没有则实现添加功能

1 d6={}
2 d6['brand']='huawei'
3 print(d6)
4 d6['brand']='mi'
5 print(d6)

#案例:

用户注册
username
password
email
phone

 1 print('-------------------欢迎来到智联招聘------------------')
 2 base=[]
 3 
 4 while True:
 5     username=input('输入用户名:')
 6     password=input('输入密码:')
 7     repassword=input('输入确认密码:')
 8     email=input('输入邮箱:')
 9     phone=input('输入电话:')
10     #定义一个字典
11     user={}
12     #将信息保存到字典
13     user['username']=username
14     if password == repassword:
15         user['password'] = password
16     else:
17         print('两次密码不一致,重新输入:')
18         continue
19     
20     user['email']=email
21     user['phone']=phone
22         #保存到数据库
23     base.append(user)
24     answer = input('是否继续注册:(y/n)')
25     if answer!='y':
26         break
27 print(base)
 1 #增加:
 2 list1=[]
 3 list.append(element)
 4 dict={}
 5 dict[key]=value
 6 #修改:
 7 list[index]=newvalue
 8 dict[key]=newvalue
 9 #查询:
10 list[index]
11 dict[key]
12 #删除
13 del dic[key]
1 list=[3,5,6,7]
2 print(list[2])    #列表根据下标查找
3 dic1={'1':'张','2':'里','3':'就'}
4 print(dic1['2'])  #字典根据key查找

#单独遍历字典结果是:字典的key
#字典里面的函数: items() values() keys()

1 print(dic1.items())
2 
3 dic2={'里':98,'是':87,'键':99}
4 for key,value in dic2.items():
5     if value>90:
6         print(key)

#values(): 取出字典中的所有值,保存到列表中  

1 for i in dic2.values():
2     print(i)

#keys():获取所有的key

1 names=dic2.keys()
2 print(names)
3 for name in names:
4     print(name)

#in 用于判断元素有没有在字典key中出现

1 print('里' in dic2)  #True

1. 根据key获取值,如果key在字典中没有则报出keyError:
dic[key]=value
2. 字典的内置函数:get()
get(key)--->value 如果取不到值不会保错,返回None
get(key,default)--->value 如果能取到值返回字典中的值,否则返回default

1 print(dic2.get('里',89))

#删除
#del()
#字典的内置函数:删除
#pop(key,[default])--->根据key删除字典中的键值对,返回value
#pop的默认值是在删除的时候没有找到对应的key
#popitem():随机删除字典中的键值对,一般是从末尾删除
#clear() 同列表的clear()
#其他的内置函数:
#update(): [] + [] 合并操作
#fromkeys(seq,[default]):将seq转成字典的形式,如果没有指定的value
#则用None,如果指定default则用default代替None这个值

 1 dic2={'里':98,'是':87,'键':99}
 2 del dic2['里']
 3 print(dic2)
 4 
 5 dic3={'里':98,'是':87,'键':99,'赋':67,'动':57}
 6 r=dic3.pop('键')
 7 print(r)
 8 print(dic3)
 9 r=dic3.pop('张','字典中没有')
10 print(r)
11 r=dic3.popitem()
12 print(r)
13 print(dic3)
14 dic3.clear()
15 print(dic3)
16 
17 dic4={1:'lily',2:'jack',3:'july'}
18 dic5={6:'helli',7:'delre',8:'tinna'}
19 r=dic4.update(dic5)  #合并dic4  dic5
20 print(r)
21 print(dic4)
22 
23 list5=['a','b','c','d']
24 new_dic=dict.fromkeys(list5,10)
25 print(new_dic)

作者:{admin-xiaoli}