不可變數據類型(可哈希):元祖、bool、int、strapi
可變數據類型(不可哈希):list、dict,set(集合)app
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))