好記憶不如爛筆頭: ...
好記憶不如爛筆頭:
#__author:Mifen #date: 2018/11/28 #不可變類型:整型,字元串,浮點型(不等於小數,但包括小數),元組(只讀,不可修改) #可變類型:列表,字典(鍵必須是不可變類型) #字典兩大特點:鍵唯一,無序 # #創建字典: # dict_0 = {} # 創建一個空字典 # print(dict_0) #print(type(dict_0)) # dict_1 = {'name':'Mifen','age':'90'} # dict_1['hobby'] = 'play games' #如果字典里不存在這個鍵(hobby)則添加進去,否則修改值 # print(dict_1) # dict_1['name'] = 'Alen' # 存在相同鍵值,則替換》》》Mifen 替換為 Alen # print(dict_1) #1.增 # dict_2 = {'name':'Mifen','age':'90'} # dict_2.setdefault('age','30') #setdefault:如果age這個鍵存在,不做任何修改, # # 返回存在的值,沒有則添加進去,並返回添加進去的值 # print(dict_2) # value = dict_2.setdefault('age','30') # print(value) # value_2 = dict_2.setdefault('speciality','code') # print(dict_2) # print(value_2) #2.查 # dict_3 = {'name':'Mifen','age':'90'} # print(dict_3['name']) #通過鍵名查值 # print(dict_3.keys()) # # key_list = list( dict_3.keys() ) #keys表示拿到字典的全部鍵名,list為把數據轉換成列表 # value_list = list( dict_3.values() ) #value 表示拿到字典的全部 的值 # print(' all key %s all value %s ' % (key_list,value_list)) # print(type(dict_3.keys())) #不轉為list時 為 dict_keys 類型 #3.改 # list_1 = [1,2,3,4] # list_1[0] = 5 #列表:通過 '索引值' 拿到列表的值進行修改 # print(list_1) # dict_4 = {'name':'Mifen','age':'90'} # dict_4['age'] = 66 #字典: 類似於列表,字典通過 ‘鍵’ 拿到數據進行修改 # print(dict_4) # list_2 = [1,2,3,4] # list_3 = [9,8,9,4,9] # print(list_2 + list_3) #原始的連接操作(+)則不然,它會返回一個全新的列表,不會對列表進行任何修改 # list_2.extend(list_3) # extend 方法修改了被擴展的列表,可以在列表的末尾一次性追加另一個序列中的多個值。 # print(list_2) # # dict_5 = {'name':'Mifen','age':'90'} # dict_6 = {'name':'Alen','hobby':'read'} # dict_5.update(dict_6) #通過更新字典進行修改,類似於extend操作,如果鍵值相同會進行覆蓋,不同則添加進字典 # print(dict_5) #dict_5 的name改變了 # print(dict_6) #4.刪 # dict_7 = {'name':'Alen','hobby':'read'} # del dict_7['name'] # 把字典中的這個鍵和值刪除 # print(dict_7) # del dict_7 #整個字典刪除 # print(dict_7) #會報錯 name 'dict_7' is not defined # # dict_7.clear() #直接把字典清空 ,留下一個空字典 # print(dict_7) # dict_8 = {'name':'Alen','hobby':'read','height':'168'} # return_value = dict_8.pop('name') #更列表差不多一樣,但pop(必須由key),應為字典無序,把name刪掉,返回刪除的值 # print(return_value) # print(dict_8) # dict_9 = {'name':'Alen','hobby':'read','height':'168','hair':'black'} # a = dict_9.popitem() #隨機刪除一個值 ,字典是 ’無序‘ 的,和pop一樣有返回(元組方式返回) # print(a) # print(dict_9) #5.其它操作及方法 # dict_10 = dict.fromkeys(['p1','p2','p3','p4','p5'],'test') #生成一個字典 # print(dict_10) #{'p1': 'test', 'p2': 'test', 'p3': 'test', 'p4': 'test', 'p5': 'test'} # dict_11 = dict.fromkeys(['p1','p2','p3','p4','p5'],['test1','test2']) # print(dict_11) #{'p1': ['test1', 'test2'], 'p2': ['test1', 'test2'], 'p3': ['test1', 'test2'], 'p4': ['test1', 'test2'], 'p5': ['test1', 'test2']} #6.字典嵌套 # av_catalog = { # "歐美":{ # "www.youporn.com": ["很多免費的,世界最大的","質量一般"], # "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"], # "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"], # "x-art.com":["質量很高,真的很高","全部收費,屌比請繞過"] # }, # "日韓":{ # "tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓範了","聽說是收費的"] # }, # "大陸":{ # "1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"] # } # } # # #要求:把質量一般改為高清無碼 # av_catalog["歐美"]["www.youporn.com"][1] += "高清無碼" #多級菜單的訪問 # # av_catalog["大陸"]["1024"][1] += ",可以用爬蟲爬下來" #進行字元串的拼接 # # print(av_catalog["大陸"]["1024"]) #ouput ['全部免費,真好,好人一生平安', '伺服器在國外,慢,可以用爬蟲爬下來'] # #字典排列 # x = [4, 6, 2, 1, 7, 9] # x.sort(reverse= True)#x.sort(reverse=True) #reverse倒過來 # print(x) #[9, 7, 6, 4, 2, 1] # # dict_12= {'name':'Alen','hobby':'read','height':'168'} # print(sorted(dict_12)) # sorted(dict) : 返回一個有序的包含字典所有 'key的列表',並不是返回字典(無序) # print(sorted(dict_12.values())) #['168', 'Alen', 'read'] # print(sorted(dict_12.items())) #[('height', '168'), ('hobby', 'read'), ('name', 'Alen')] 按key排位 #遍歷字典三種方法;推薦第一種 # dict_12= {'name':'Alen','hobby':'read','height':'168'} # for i in dict_12: #返回key # print(i,dict_12[i]) # # for items in dict_12.items(): #返回元組 # print(items) # # for keys,values in dict_12.items(): # print(keys,values) # for i in dict_12.values(): # print(i)