Python档案袋(列表、元组、字典、集合 )
生活随笔
收集整理的這篇文章主要介紹了
Python档案袋(列表、元组、字典、集合 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
列表
可以同名,有序(通過下標可找到)
取值:
1 #聲明列表2 listx=["L0","L1","L2",33,"L4"]3 print(listx) #輸出:['L0', 'L1', 'L2', 33, 'L4']4 print(len(listx)) #統計總個數,輸出:55 print(listx[1]) #下標取值,輸出:L16 print(listx[0:2])#切片區間為:[0,2),輸出:['L0', 'L1']7 print(listx[:2])#輸出:['L0', 'L1']8 print(listx[-1])#倒數第一個,輸出:L49 print(listx.index("L1"))#查找內容的下標,查找到第一個,輸出:1 10 print(listx.count("L4")) #統計值為L4的個數 輸出:1遍歷:
1 #聲明列表 2 listx=["L0",[11,22,33],"L1"] 3 4 print(type(listx)) #輸出類型為:<class 'list'> 5 6 for i in listx: 7 print(i) #輸出:L0 [11, 22, 33] L1修改:
1 #聲明列表2 listx=["L0","L1","L1"]3 4 listx[2]="L1.1" #修改值5 listx.append("L2") #追加,結尾添加6 listx.insert(1,"L1.0") #插入,參數(位置,內容)7 8 listx.reverse()#反轉9 listx.sort()#排序 10 11 print(listx) #輸出:['L0', 'L1', 'L1.0', 'L1.1', 'L2']刪除:
1 #聲明列表 2 listx=["L0","L1","L2",33,"L4"] 3 listx.remove("L2") #刪除,以內容 4 del listx[0] #刪除,以下標 5 listx.pop(0) #刪除,以下標,默認刪除最后一個 6 7 #listx.clear() #清空列表 8 print(listx) #輸出:[33, 'L4']利用for循環的列表生成:
#生成列表,for循環的值傳遞到前面的算式進行值的修改 listx=[i*10 for i in range(10)]print(listx)#輸出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]列表排序:
#排序 listx=[20,100,66,99,11] print(sorted(listx)) #排序,輸出:[11, 20, 66, 99, 100]列表合并:
list1=[11,22] list2=[99,88]list1.extend(list2) #擴展 print(list1) #輸出:[11, 22, 99, 88]列表的一一對應:
1 #一 一對應 2 list1=[11,22,33,88] 3 list2=["cc","bb","aa","dd"] 4 res=zip(list1,list2)#變成一個迭代器 5 print(next(res)) #輸出:(11, 'cc')字符串與列表的轉換:
函數eval()可以將格式化的字符串轉換為列表、字典等數據類型
1 a="[11,33,55]" 2 3 #轉換函數 4 aa=eval(a) 5 print(aa[2]) #輸出:55 6 7 #進列表轉換為字符串 8 print(type(str(a))) #輸出:<class 'str'>淺copy,只copy第一層:
1 #聲明列表2 listx=["L0",[11,22,33],"L1"]3 4 list2=listx.copy()#淺copy,只copy第一層5 6 list2[0]="L0000" #只改自己7 list2[1][2]=3333333333 #一改全改8 9 print(listx)#輸出:['L0', [11, 22, 3333333333], 'L1'] 10 print(list2)#輸出:['L0000', [11, 22, 3333333333], 'L1']深copy,獨立分配內存空間
1 import copy2 3 #聲明列表4 listx=["L0",[11,22,33],"L1"]5 6 list2=copy.deepcopy(listx)#深copy,獨立分配內存空間7 8 list2[0]="L0000" #只改自己9 list2[1][2]=3333333333 #只改自己 10 11 print(listx)#輸出:['L0', [11, 22, 33], 'L1'] 12 print(list2)#輸出:['L0000', [11, 22, 3333333333], 'L1']?元組:
值不可更改,值可重復,有序(通過下標可找到)
1 #聲明元組2 va=("dongxiaodong","東小東","222","dong","dong",("11",22,33))3 4 print(type(va))#類型,輸出:<class 'tuple'>5 6 print(len(va)) #總個數,輸出:67 8 print(va.count("dong")) #統計某個值的個數 輸出:29 10 print(va.index("dong")) #查詢值的下標 輸出:3 11 12 print(va[1]) #下標取值,輸出:東小東字典:
無序,鍵不可重復
1 #創建字典方法12 va={"v1":"111","v2":"222",33:"333"}3 4 #創建字典方法25 va2=dict.fromkeys(["v1","v2",33],"xxxxx") #創建不同的鍵對應一個值6 print(va2) #輸出:{'v1': 'xxxxx', 'v2': 'xxxxx', 33: 'xxxxx'}7 8 9 print(va[33]) #通過鍵取值,不存在則報錯 10 print(va.get(44)) #存在則返回值,不存在則返回None 11 12 print("v1" in va) #判斷鍵是否存在字典中 13 14 va["v1"]="1x1x1x1" #修改 15 16 va["v3"]="xxxx333333" #添加 17 18 va.update({"v1":"vvvvv11111","v4":"444444"}) #鍵存在則更新值,鍵不存在則創建 19 20 print(va.items()) #輸出:dict_items([('v1', 'vvvvv11111'), ('v2', '222'), (33, '333'), ('v3', 'xxxx333333'), ('v4', '444444')]) 21 22 23 24 #del va["v2"] #刪除某對 25 #va.pop("v3") #刪除某對 26 27 #va.popitem() #隨機刪除一對,默認刪除最后一對 28 29 #del va #刪除所有 30 31 print(va) #打印所有 32 33 34 #字典循環打印方法1 35 #效率較高,推薦 36 #循環鍵 37 for i in va: 38 print(i,va[i]) 39 40 #字典循環打印方法2 41 #循環鍵值 42 for k,v in va.items(): 43 print(k,v)字典的排序
1 #排序2 a={"5":55555,"2":88888,"32":22222}3 4 #按鍵排序,鍵的數據類型必須一樣5 #輸出:[('2', 88888), ('32', 222222), ('5', 55555)]6 print(sorted(a.items()))7 8 #按值排序,值的數據類型必須一樣9 #輸出:[('32', 22222), ('5', 55555), ('2', 88888)] 10 print(sorted(a.items(),key=lambda x:x[1]))集合
值不可重復,重復則保留其中一個,無序,因為集合是無序的,所以取值一般都是經過for循環,而不會使用下標取值
1 listx1=set(["10",10,11,12,12])2 print(listx1) #輸出:{10, 11, 12, '10'}3 4 listx2=set([10,100])5 6 #交集7 #方法1:8 print(listx1.intersection(listx2)) #輸出:{10}9 #方法2: 10 print(listx1 & listx2)#輸出:{10} 11 12 #并集 13 #符號為:| 14 print(listx1.union(listx2)) #輸出:{100, 10, 11, 12, '10'} 15 16 #差集 17 #符號為: - 18 # 在listx1中有,但listx2中沒有的,參數可有對換 19 print(listx1.difference(listx2)) #{11, 12, '10'} 20 21 #子集 22 #listx2w是不是listx1的子集,返回bool 23 print(listx2.issubset(listx1)) #輸出:False 24 25 #父集 26 #listx1是不是listx2的父集,返回bool 27 print(listx1.issuperset(listx2)) #輸出:False 28 29 #對稱差集 30 #在并集的基礎上將兩個集合都有的元素去掉 31 print(listx2 ^ listx1) #輸出:{100, 11, 12, '10'} 32 33 listx2.add("dongxiaodong") #添加一項 34 listx2.update(["dong1","dong2"]) #添加多項 35 36 listx2.remove("dong1") #刪除一項,不存在會報錯 37 listx2.discard("dong1")#刪除一項,不存在會返回None 38 39 print(len(listx2)) #打印長度 40 41 print(listx2)?
轉載于:https://www.cnblogs.com/dongxiaodong/p/10649603.html
總結
以上是生活随笔為你收集整理的Python档案袋(列表、元组、字典、集合 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计规范与原则
- 下一篇: 阅读笔记-你的灯还亮着吗?