1. 程式人生 > >python初學-元組、集合

python初學-元組、集合

定義 兩個 intersect 子集 數據 列表 元組 元素存在 有序

元組: 元組基本和列表一樣,區別是 元組的值一旦創建 就不能改變了 tup1=(1,2,3,4,5) print(tup1[2]) ------------------------------------- 元組中只包含一個元素時,需要在元素後面添加逗號 不加逗號:tup1=(10) print(type(tup1)) <class ‘int‘> 加逗號:tup1=(10,) print(type(tup1)) <class ‘tuple‘> ----------------------------------------- 元組中的元素值是不允許修改的,但我們可以對元組進行連接組合 url=(‘192.168.85.130‘,‘lzc‘,‘root‘,123456) addr=(‘abc‘,‘def‘,‘hijk‘,‘nmn‘) tup3=url+addr print(tup3) ------------------------------------------ 一個可變的元組 tup=(‘a‘,‘b‘,[‘A‘,‘B‘]) print(tup[2][1]) tup[2][0]=‘x‘ tup[2][1]=‘y‘ print(tup) 結果 B (‘a‘, ‘b‘, [‘x‘, ‘y‘]) 表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list並沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向‘a‘,就不能改成指向‘b‘,指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list並沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向‘a‘,就不能改成指向‘b‘,指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的! 總之一句話:元組指向的對象不能變,但是元組中列表的值可以改變 ----------------------------------------- tup=(‘192.168.35.130‘,‘lzc‘,‘root‘,123456,‘mysql‘) tup2=(1,2,3,4,5,) # 計算元素個數 # print(len(tup)) # 返回元素中的最小值(必須是int類型,不然會報錯) # print(min(tup2)) # 列表轉換為元組 # list=[1,2,3,4,5,6] # tup3=tuple(list) # print(type(tup)) # 查: # print(tup[0]) # 取元組的的下標為2的值 # print(tup[2]) # 去元組前面3個元素的值 # print(tup[:3]) # 鏈接兩個元組 # tup3=tup+tup2 # print(tup3) # 刪除元組 # del tup2 # print(tup2) 對比兩個元組: import operator tup=(‘192.168.35.130‘,‘lzc‘,‘root‘,123456,‘mysql‘) tup2=(1,2,3,4,5,) print(operator.eq(tup,tup2)) ------------------------------------------ # 計算元素個數 # 返回元素中的最小值、最大值 # 列表轉換為元組 # 查: # 取元組的的下標為2的值 # 去元組前面3個元素的值 # 鏈接兩個元組 # 刪除元組 #對比兩個元組: ****************************************************** 集合: 集合:集合是一種數據類型,一個類似列表的東西 與列表相比:它的特點是無序的,不重復 也就是說集合中是沒有重復的數據 set擁有類似dict的特點:可以用{}花括號來定義;其中的元素沒有序列,也就是是非序列類型的數據;而且,set中的元素不可重復,這就類似dict的鍵. set也有繼承了一點list的特點:如可以原處修改(事實上是一種類別的set可以原處修改,另外一種不可以) 定義集合: 定義一個空集合 s=set() print(type(s)) 1、通過強制類型轉換 nums=[1,1,2,3,34,2] num_set=set(nums) 2、直接定義集合 num_set1={1,2,3,4,5,6} #與定義字典的區別是 字典中含有冒號 集合沒有 set1.add(2222) #添加元素 print(‘添加元素:‘,set1) set1.update([111,222,333]) #把list裏面的東西更新進去 如果是字符串 會一個一個得添加進去 s1={1,2,4,6,7,8,9,90} s1.update(‘ljk‘) #需要先update 然後才能打印 print(s1) 結果: {1, 2, 4, 6, 7, 8, 9, 11, ‘j‘, ‘k‘, 22, ‘l‘, 90} #update 字符串是以元素下標為個體添加進去,如‘abc‘那就是將a,b,c分別添加進去 # update 列表也是以元素下標為個體添加進去 [‘abc‘,‘lkj‘] 將‘abc‘和‘lkj添加進去 print(set1) set1.remove(111) #刪除元素,如果元素不存在就會報錯 print(‘刪除元素,如果元素不存在就會報錯:‘,set1) set1.pop() #刪除一個隨記的元素,並返回刪除的元素 print(‘刪除一個隨記的元素,並返回刪除的元素:‘,set1) set1.discard(‘ddd‘) #刪除的元素存在,刪除,不存在不做任何處理 print(‘刪除的元素存在,刪除,不存在不做任何處理:‘,set1) print(set1.clear()) 將set全部清空 set1={1,2,3,457,78} set2={1,2,4,6,78} set3={1,2} print(‘交集:‘,set1.intersection(set2)) print(‘並集:‘,set1.union(set2)) print(‘並集2:‘,set1 | set2) print(‘差集:‘,set1.difference(set2)) print(‘差集2:‘,set1 - set2) print(‘判斷set3是不是set2的子集:‘,set3.issubset(set2)) print(‘判斷set2是不是set3的子集:‘,set2.issuperset(set3)) print(‘判斷是否有交集:‘,set1.isdisjoint(set3)) print(‘^ 除相同元素以外的元素‘,set1^set2) ------------------------------------------------------------------------------------------------------- # 創建一個空集合 # s=set() # print(type(s)) # 定義一個集合 # s={1,2,3,4,} # print(type(s)) # s1={1,2,4,6,7,8,9,90} # s2={2,3,5,4,6,‘f‘} # # 添加元素 # s1.add(‘kskksks‘) # print(s1) #添加元素update # s1.update([11,22]) # s1.update(‘ljk‘) # print(s1) # 字符串是以元素下標為個體添加進去,如‘abc‘那就是將a,b,c分別添加進去 # 列表也是以元素下標為個體添加進去 [‘abc‘,‘lkj‘] 將‘abc‘和‘lkj添加進去 #刪除元素 # s1.remove(90) # print(s1) # #隨機的刪除一個元素 # s1.pop() # print(s1) #刪除的元素村存在就刪除,不存在就不刪除 # s1.discard(190) # print(s1) #刪除整個集合 # print(set1.clear()) #list轉換為集合 # l=[1,2,3,4,5,7] # s1=set(l) # print(type(s1)) #取兩個集合間的交集 # s1={1,2,4,6,7,8,9,90} # s2={2,3,5,4,6,‘f‘} # print(s1.intersection(s2)) # 取兩個集合的並集(兩種方式) # s1={1,2,3,5} # s2={4,3,6,2} # print(s1.union(s2)) # print(s1|s2) #取差集 (兩種方式) # s1={1,2,3,5} # s2={4,3,6,2} # print(s1.difference(s2)) # print(s1-s2) set1={1,2,3} set2={1,2,3,4,6,7} # 判斷兩個集合是否有交集 # print(set1.isdisjoint(set2)) #判斷set1是不是set2的子集 # print(set1.issubset(set2)) #判斷set1是不是set2的子集 # print(set1.issuperset(set2)) # ‘判斷是否有交集 # print(set1.isdisjoint(set2)) # 除相同元素以外的元素 # print(set1^set2)

python初學-元組、集合