python(3)---dictionary字典
阿新 • • 發佈:2018-08-26
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字典