python(3)---dictionary字典

2021-07-15 10:08

阅读:778

标签:view   def   删除   add   索引   upd   修改   ext   size   

字典和字典操作

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}
3 print(stus.keys())   #取出所有key
4 print(stus.values()) #取出所有value
5 stus.update({money:10000})  #更新字典值,如果key存在的话,就更新,不存在的话就添加

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

 

python(3)---dictionary字典

标签:view   def   删除   add   索引   upd   修改   ext   size   

原文地址:https://www.cnblogs.com/HathawayLee/p/9536879.html


评论


亲,登录后才可以留言!