1. 程式人生 > >python(3)---dictionary字典

python(3)---dictionary字典

remove 增加 取出 phone 增刪 必須 aps === 增刪改

字典和字典操作

1、定義字典

1 dic={
2     name:xiaojun,
3     sex:,
4     height:185,
5     age:18,
6     email:[email protected],
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,[email protected])
 9  stus.setdefault(
phone,2346465) 10 print(stus)

運行結果:

{addr: beijing, sex: nan, phone: 2346465, name: 海龍, email: [email protected]}

2.2 改

1 #修改  即再次賦值
2 stus={addr: beijing, sex: nan, phone: 2346465, name: 海龍, email: [email protected]}
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: [email protected]}
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: [email protected]}
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: [email protected]}
2 for k in stus:
3     print(k,===>,stus.get(k))
4 
5 for k,v in stus.items():
6     print(k,==>,v)

運行結果:

技術分享圖片
email ===> [email protected]
sex ===> nan
addr ===> beijing
phone ===> 2346465
name ===> 海龍
email ==> [email protected]
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:[email protected],
 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:[email protected],
20     addr:火星,
21     id:2
22     },
23     yangfan:
24         {
25             name: hailong,
26             sex: ,
27             height: 185,
28             age: 12,
29             email: [email protected],
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字典