Python 全棧開發:dict(字典)經常使用方法操做、dict嵌套

 

  數據類型的劃分:可變數據類型和不可變數據類型。

  不可變數據類型(可哈希):元祖、bool、int、strapi

  可變數據類型(不可哈希):list、dict,set(集合)app

  dict(字典):

   dict(字典):映射數據類型ip

   dict =  {"key":value}字符串

   dict key 必須不可變數據類型,可哈希。get

  value  任意數據類型input

   dict 優勢:二分法查找去查詢it

     存儲大量的關係型數據class

    特色:無序的(3.5及其以前的版本)date

# dict = {#         'name':['韓非','黃有華','林穎','謝龍','李霞霞','紀偉鵬'],#         '配送':[{'num':12,'avera_age':20}],#         True:1,#        (1,2,3):'wuyiyi',#         2:'二哥',#        }# print(dict)#例子# dict1 = {'age':18,'name':'jone','sex':'male'}#增 dict['key']:value 或 setdefault(key,value)# dict1['hight']=185  #沒有鍵值對,添加# dict1['age'] = 16   #若是有鍵值對,則值覆蓋# print("dict1['hight']=185 and dict1['age']=16",dict1)# 輸出結果:# dict1['hight']=185 and dict1['age']=16 {'hight': 185, 'sex': 'male', 'age': 16, 'name': 'jone'}#setdefault() 已經存在鍵值對,不作任何改變,沒有在添加# dict1.setdefault('weight',150)# dict1.setdefault('name','alex')# print(dict1)# 輸出結果:# dict1['hight']=185 and dict1['age']=16 {'hight': 185, 'sex': 'male', 'age': 16, 'name': 'jone'}#刪 pop(key,'設置返回值')、popitem(key)隨機刪除,有返回值、del dict[key] 不存在會報錯、clear()清空字典#ps:None是一種數據類型# print(dict1.pop('age'),dict1)# print(dict1.pop('yijiajun',None),dict1)# 輸出結果:# 18 {'name': 'jone', 'sex': 'male'}# None {'name': 'jone', 'sex': 'male'}# print(dict1.popitem(),dict1)# 輸出結果:# ('name', 'jone') {'sex': 'male', 'age': 18}# del dict1['age']# print(dict1)# 輸出結果:# {'name': 'jone', 'sex': 'male'}# del dict1# print(dict1)# 輸出結果:#     print(dict1)# NameError: name 'dict1' is not defined#改# dict1['age'] = 20# print(dict1)# 輸出結果:# {'name': 'jone', 'sex': 'male', 'age': 20}#update()  已經存在的鍵值對,會更新value,不存在的鍵值對,則添加# dict2 = {'name':'yijiajun','heigh':175,'weight':75}# dict1.update(dict2)# print(dict1,dict2)#查# print(dict1.keys(),type(dict1.keys()))# print(dict1.values(),type(dict1.values()))# print(dict1.items(),type(dict1.items()))# print(dict1.get('name'),type(dict1.get('name')))# print(dict1.get('yijia'),'不存在key')# 輸出結果:# dict_values([18, 'male', 'jone']) <class 'dict_values'># dict_items([('age', 18), ('sex', 'male'), ('name', 'jone')]) <class 'dict_items'># jone <class 'str'># None 不存在key#for .....in.....遍歷任何項目的序列#遍歷key#方法一 # for i in dict1.keys(): #    print(i)#方法二# for i in dict1:#     print(i)#遍歷value# for i in dict1.values():#     print(i)#以元祖的形式同時遍歷key和value# for i in dict1.items():#     print(i,type(i))# 輸出結果:#     ('sex', 'male') < class 'tuple'>#     ('name', 'jone') <class 'tuple'>#     ('age', 18) < class 'tuple'>#以字符串的形式同時遍歷key和value# for k,v  in  dict1.items():#     print(k,v,type(k),type(v))# 輸出結果:# dict_values([18, 'male', 'jone']) <class 'dict_values'># dict_items([('age', 18), ('sex', 'male'), ('name', 'jone')]) <class 'dict_items'># jone <class 'str'># None 不存在key#字典嵌套# dic = {#         'name':['yijiajun','yijiaping','yijiaxing'],#         'home.yee':{#                         'born' :1995,#                         'count':85,#                          'old':'grandfather'#                      },#         True:1,#         (1,2,3):'yimeiling',#         'age':21##       }# dic['age'] = 56# dic['name'][0] = dic['name'][0].upper()# dic['name'].append('wangxizhi')# dic['home.yee']['color'] = 'red'# dic['home.yee'].setdefault('like','fish')# dic['home.yee'].pop('born','已經刪除')# print(dic['home.yee'].pop('born','已經刪除'))#課間題  統計數字出現的次數(連續的數字爲1個)info = input('請輸入您要檢測的數字:').strip()for i in info:    if i.isalpha():        info = info.replace(i,' ')l = info.split( )print(l)print(len(l))
相關文章
相關標籤/搜索