python初識(列表,元組,字典)
——列表:(中括號括起來;逗號分隔每個元素;列表中的元素可以是數字,字符串,列表,布爾值等等)
(列表元素可以被修改) list(類) (有序的)
【1】索引取值;切片取值;for循環;while循環
1 li=[1,2,"zhouyuan",["zhoutao",666],True] 2 print(li[4]) #索引取值 3 print(li[0:3]) #切片取值
(運行結果)
1 li=[1,12,9,"age",["周圓",["19",10],"zhou"],"alex",True] 2 li[4][1][0]3 #取字符串"19"
【2】列表元素的修改
1 li=[1,2,"age",["zhouyuan",666],false] 2 li[1]=888 3 print(li) 4 #運行結果:[1,888,"age",["zhouyuan",666],false]
1 切片修改 2 li=[1,2,3,4,50,60,7,8] 3 li[4:6]=[5,6] 4 print(li) 5 #運行結果:【1,2,3,4,5,6,7,8】
【3】列表元素的刪除
1 li=[1,2,3] 2 del li[1] 3 print(li) 4 #運行結果:[1,3]
1 切片刪除 2 li=[1,2,3,3,3,4,5,6] 3 del li[3:5] 4 print(li) 5 #運行結果: [1,2,3,4,5,6]
【4】字符串轉換成列表
1 s="zhouyuan" 2 new_li=list(s) 3 print(new_li) 4 #運行結果:[‘z‘,‘h‘,‘o‘,‘u‘,‘y‘,‘u‘,‘a‘,‘n‘]
【5】列表轉換成字符串(直接str的話會直接變成一個字符串裏面是列表,通過for循環來實現列表內部元素拼接成字符串,如果列表裏面都是字符串可以使用join來實現)
1 直接str轉換:2 li=[1,2,3] 3 r=str(li) 4 print(r) 5 #運行結果:[1,2,3] 6 使用for循環: 7 li=[1,2,3] 8 s="" 9 for i in li: 10 s=s+str(i) 11 print(s) 12 #運行結果:123 13 使用.join(): 14 li=[‘1‘,‘2‘,‘3‘] 15 v="".join(li) 16 print(v) 17 #運行結果:123
——列表中的一些常用方法:(參數) (對象.方法... 列表對象調用方法)
【1】在列表尾部增加元素 append()
1 li=[11,22,33,44] 2 li.append(55) 3 li.append("zhouyuan") 4 print(li) 5 #運行結果:[11,22,33,44,55,"zhouyuan"]
【2】清空列表 clear()
1 li=[11,22,33,44] 2 li.clear() 3 print(li) 4 #運行結果:[]
【3】賦值,拷貝(淺拷貝) copy()
1 li=[11,22,33,44] 2 v=li.copy() #拷貝一份,就會存在一份新的,用v來接收新列表 3 print(v) 4 #運行結果: [11,22,33,44]
【4】計算元素出現的次數 count()
1 li=[11,22,33,44,22,22] 2 v=li.count(22) 3 print(v) 4 #運行結果:3
【5】在原列表後添加新列表,擴展原列表 extend() [相當於內部執行for循環把擴展的新列表元素一個個增加到原列表中]
1 li=[11,22,33,44] 2 li.extend([9999,"zy"]) 3 print(li) 4 #運行結果:[11,22,33,44,9999,"zy"] 5 li=[11,22,33,44] 6 li.extend("我真好看") 7 print(li) 8 #運行結果:[11,22,33,44,‘我‘,‘真’,‘好’,‘看’] (執行了for循環)
【6】根據值找索引位置(最左優先) index()
1 li=[11,22,33,44] 2 v=li.index(22) 3 print(v) 4 #運行結果:1
【7】在指定索引位置插入元素 insert()
1 li=[11,22,33,44] 2 li.insert(0,00) #在第0個位置插入00 3 print(li) 4 #運行結果:[00,11,22,33,44]
【8】刪除某個值,並可以獲取當前值,默認為最後一個 pop()
1 li=[11,22,33,44] 2 v=li.pop() 3 print(v) 4 print(li) 5 #運行結果:44 6 # [11,22,33] 7 li=[11,22,33,44] 8 v=li.pop(3) 9 print(v) 10 print(li) 11 #運行結果:44 12 # [11,22,33]
【9】刪除列表中的指定值,左邊優先 remove()
1 li=[11,22,33,22,44] 2 li.remove(22) 3 print(li) 4 #運行結果:[11,33,22,44]
【10】將當前列表進行翻轉 reverse()
1 li=[11,22,33,44] 2 li.reverse() 3 print(li) 4 #運行結果:[44,33,22,11]
【11】排序 sort()
1 li=[11,44,22,33,99] 2 li.sort() 3 print(li) 4 #運行結果:[11,22,33,44,99] 5 li.sort(reverse=True) 6 print(li) 7 #運行結果:[99,44,33,22,11]
——元組: (元素不可被修改,不能被增加或者刪除,可以查看) tuple (有序的)
(用圓括號括起來,最後最好多加一個逗號來區別方法) (可以被for循環,可叠代對象)
【1】索引
1 tu=(11,"alex",("zy",666),[11,22,33,44],True,) 2 v=tu[0] 3 print(v) 4 #運行結果:11
【2】切片
1 tu=(11,22,33,44,) 2 v=tu[0:2] 3 print(v) 4 #運行結果:[11,22]
【3】字符串,列表,元組之間的轉換
1 s="zhouyuan" 2 li=["zhou",9898] 3 tu=(123,321,"yuan") 4 #字符串轉換成元組 5 v=tuple(s) #相當於執行了for循環 6 print(v) #運行結果:(‘z‘,‘h‘,‘o‘,‘u‘,‘y‘,‘u‘,‘a‘,‘n‘) 7 #列表轉換成元組 8 u=tuple(li) 9 print(u) #運行結果:("zhou",9898) 10 #元組轉換成列表 11 w=list(tu) 12 print(w) #運行結果:[123,321,"yuan"]
(對於元組也是可叠代對象,所以對於列表一些可叠代方法對於元組也適用)
——字典: (鍵值對,字典的value可以是任何值;字典的key不可以是列表,字典等可變的) #dict (花括號括起來,字典是無序)
【1】根據key來取value的值
1 info={"1":"a","2":"b","3":"c"} 2 v=info["2"] 3 print(v) 4 #運行結果:"b"
【2】刪除某個鍵值對
1 info={"1":"a","2":"b","3":"c"} 2 del info["2"] 3 print(info) 4 #運行結果:{"1":"a","3":"c"}
【3】for循環(默認是key 進行for循環)
1 info={"1":"a","2":"b","3":"c"} 2 for item in info: 3 print(item) 4 #運行結果:"1" 5 # "2" 6 # "3" 7 for i in info.values(): 8 print(i) 9 #運行結果:"a" 10 # "b" 11 # "c" 12 for k,v in info.items(): 13 print(k,v) 14 #運行結果:"1":"a" 15 # "2":"b" 16 # "3":"c"
——字典常用的方法:
【1】根據序列創建字典,並指定統一的值 fromkeys()
1 v=dict.fromkeys(["1","2","3"],"周圓最美") 2 print(v)
(運行結果)
【2】刪除字典的某個鍵值對 pop() popitem()[隨機刪除某個鍵值對]
1 dic={"1":"a","2":"b","3":"c"} 2 v=dic.pop("2") 3 print(dic,v)
(運行結果)
【3】設置值,如果已經存在獲取當前key對應的值 setdefault()
1 dic={"k1":"v1","k2":"v2"} 2 v=dic.setdefault("k3":"v3") 3 print(dic,v)(運行結果) 【4】更新 update()
1 dic={"k1":"a","k2":"b","k3":"c"} 2 dic.update({"k1":"a1","k4":"d"}) 3 print(dic) 4 dic.update(k1=a2,k5=e) #python會自動轉換成字典 5 print(dic)
(運行結果)
python初識(列表,元組,字典)