冒泡泡de可乐
代码都是思想和概念的体现~每多学一点知识,就能少写一行代码~

字典和字典操作

1、定义字典

 

1 dic={
2     'name':'xiaojun',
3     'sex':'',
4     'height':'185',
5     'age':18,
6     'email':'abc@qq.com',
7     'addr':'火星',
8     'id':1
9 }
  • 使用大括号{}定义,每个值用“,”隔开,key:value形式
  • 字典是无序的,因为它没有下标,用key来当索引,所以是无序的,取值速度快
  • 字典的key必须是唯一的,因为它是通过key来进行索引的,如果重复最后的一个键值对会替换前面的,所以key不能重复,天生就去重

2、字典的增删改查

  2.1 增

 1  #add  两种方式
 2  stus={}
 3  stus['name']='小军' #增加
 4  stus['name']='海龙' #name修改为“海龙”
 5  stus.setdefault('name','杨帆') #如果key已经存在,就不动它;没有的话,添加
 6  stus.setdefault('sex','nan')
 7  stus.setdefault('addr','beijing')
 8  stus.setdefault('email','13e@aa.com')
 9  stus.setdefault('phone','2346465')
10  print(stus)

运行结果:

{'addr': 'beijing', 'sex': 'nan', 'phone': '2346465', 'name': '海龙', 'email': '13e@aa.com'}

  2.2 改

1 #修改  即再次赋值
2 stus={'addr': 'beijing', 'sex': 'nan', 'phone': '2346465', 'name': '海龙', 'email': '13e@aa.com'}
3 stus['sex']='nv'

2.3 删除

  两种方式:del 和 pop

1 #删  删除不存在的key会报错
2  del stus['phone']
3  stus.pop('age')
4  stus.popitem() #随机删除 

 2.4 查询

      两种方式:

  • stus['sex']   
  • stus.get('sex')
1 # #查询
2 stus={'addr': 'beijing', 'sex': 'nan', 'phone': '2346465', 'name': '海龙', 'email': '13e@aa.com'}
3 print(stus['sex'])  #如果不存在会报错
4 print(stus.get('sex')) #如果不存在的话,返回none,不会报错
5 print(stus.get('sex','')) #如果sex不存在,返回默认值'男'
6 email in stus  #email是否存在stus中,返回true或false

3、字典内置方法

1 stus={'addr': 'beijing', 'sex': 'nan', 'phone': '2346465', 'name': '海龙', 'email': '13e@aa.com'}
2 print(stus.keys())   #取出所有key
3 print(stus.values()) #取出所有value
4 stus.update({'money':10000})  #更新字典值,如果key存在的话,就更新,不存在的话就添加
5 print(stus.items()) #将字典转成list

4、遍历字典

1 stus={'addr': 'beijing', 'sex': 'nan', 'phone': '2346465', 'name': '海龙', 'email': '13e@aa.com'}
2 for k in stus:
3     print(k,'===>',stus.get(k))
4 
5 for k,v in stus.items():
6     print(k,'==>',v)

运行结果:

email ===> 13e@aa.com
sex ===> nan
addr ===> beijing
phone ===> 2346465
name ===> 海龙
email ==> 13e@aa.com
sex ==> nan
addr ==> beijing
phone ==> 2346465
name ==> 海龙
View Code

5、字典嵌套

 1 all_stus={
 2     'xiaojun':
 3     {
 4     'name':'xiaojun',
 5     'sex':'',
 6     'height':'185',
 7     'age':18,
 8     'email':'abc@qq.com',
 9     'addr':'火星',
10     'id':1,
11     'cars':["牧马人",'911','野马','劳斯莱斯']
12      },
13     'hailong':
14     {
15     'name':'hailong',
16     'sex':'',
17     'height':'185',
18     'age':12,
19     'email':'abc@qq.com',
20     'addr':'火星',
21     'id':2
22     },
23     'yangfan':
24         {
25             'name': 'hailong',
26             'sex': '',
27             'height': '185',
28             'age': 12,
29             'email': 'abc@qq.com',
30             'addr': '火星',
31             'id': 3,
32             'bags':{
33                 'qianbao':['lv','ysl'],
34                 'beibao':['coach','abc']
35             }
36         }
37 }
38 all_stus['xiaojun']['cars'].append('五菱宏光')   #给xiaojun添加一个car
39 print(len(all_stus['xiaojun']['cars']))        #统计xiaojun有多少个car  len()函数
40 all_stus['yangfan']['sex']='nv'             #改yangfan的sex
41 print(all_stus['yangfan']['sex'])
42 all_stus['yangfan']['bags']['qianbao'].pop(0)    #删除lv
43 all_stus['yangfan']['bags']['beibao'].remove('abc') #删除abc

 

posted on 2018-08-26 12:30  HathawayLee  阅读(291)  评论(0编辑  收藏  举报