python全棧開發-Day5 元組、字典,python-day5
python全棧開發-Day5 元組、字典一、前言 首先,不管學習什麼資料類型,我們都帶著以下幾個問題展開學習: #1:基本使用 1 、用途 2 、定義方式 3、常用操作+內建的方法 #2:該類型總結 1 、存一個值or存多個值, 只能存一個值 可以存多個值,值都可以是什麼類型 2 、有序or無序 3 、可變or不可變 !!!可變:值變,id不變。可變==不可hash !!!不可變:值變,id就變。不可變==可hash二、元組 #作用:存多個值,對比列表來說,元組不可變(是可以當做字典的key的),#主要是用來讀 定義:與清單類型比,只不過[]換成() age=(11,22,33,44,55)本質age=tuple((11,22,33,44,55))#優先掌握的操作: #1、按索引取值(正向取+反向取):只能取 #跟字串,列表的取值一樣,就不詳細說了 #2、切片(顧頭不顧尾,步長)
1 t=(1,2,3,4,5,6)2 print(t[1:4]) 3 4 #結果為 (2, 3, 4)
#3、長度
1 t=(1,2,3,4,5,6)2 print(len(t))3 4 #結果為 6
#4、成員運算in和not in
1 t=(1,2,3,4,5,6)2 print((1) in t) 3 4 #結果為 Ture #not in 就為Flase
#5、迴圈
1 t=(1,2,3,4,5,6) 2 3 #不依靠索引迴圈 4 for i in t: 5 print(i) 6 7 #依靠索引的兩種迴圈 8 #for迴圈 9 for i in range(len(t))10 print(i)11 12 #while 迴圈13 n=014 while Ture:15 print(t[i])16 n+=1 17
三、字典#作用:存多個值,以key-value存取,取值速度快,每一個值都有對應的key#定義: {}內以逗號分割多個元素 key必須是不可變類型,value可以是任意類型 info={'name':'egon','age':18,'sex':'male'}#本質info=dict({....}) 或 info=dict(name='egon',age=18,sex='male') 或 info=dict([['name','egon'],('age',18)]) 或 {}.fromkeys(('name','age','sex'),None)#優先掌握的操作: #1、按key存取值:可存可取
1 dic={'name':'duoduo'}2 dic['age']=103 print(dic) #值為{'name':'duoduo','age':10} 可存4 5 dic['name']='qian'6 print(dic) #值為{'name':'qian','age':10} 可改 #2、長度len
1 dic={'name':'duoduo','age':18}2 print(len(dic))3 4 #結果為 2 #3、成員運算in和not in (判斷key存在)
1 dic={'name':'egon','age':18}2 print('name' in dic)3 4 # 結果為 Ture #4、刪除
1 dic={'name':'duoduo','age':18} 2 res=dic.pop('name') #和列表不同的地方在後面加的參數 3 print(res) #值為'duoduo' 4 print(dic) #值為{'age':18} 5 6 # del dic['name'] 7 # print(dic) 萬能的刪除 8 9 10 #res=dic.pop('qian',None) #這裡的刪除對象不再原來的字典11 #print(res) #在後面添加None 就不會報錯,傳回值None #5、鍵keys(),值values(),索引值對items(),迴圈
#鍵keys()dic={'name':'duoduo','age':18}print(dic.keys()) #值為dict_keys(['name', 'age'])for key in dic.keys(): #字典.keys()這個方法省略不寫直接dic也可以 print(key)#結果為 name age#值values()dic={'name':'duoduo','age':18}print(dic.values()) #值為dict_values(['duoduo', 18])for values in dic.values(): print(values)#結果為 duoduo 18#索引值對itemsdic={'name':'duoduo','age':18}print(dic.items()) #值為dict_items([('name', 'egon'), ('age', 18)])for k,v in dic.items(): #k,v=('name', 'duoduo') print(k,v)#掌握的知識:
1 dic={'name':'duoduo','age':18}2 print(dic.get('namexxxx')) #沒發現,輸出None3 print(dic['namexxxxxxxxxx']) 4 # 這個會報錯 #小結:尋找到傳回值,尋找不到返回None