python3集合操作方法詳解 python3集合操作大全


  1 #!/usr/bin/env python
  2 # -*- coding:utf-8 -*-
  3 #Author:sking
  4 #python3集合操作方法詳解  python3集合操作大全
  5 
  6 #集合是無序的
  7 #創建集合
  8 a = {1,2,3} #正確
  9 b = set([1,2,3]) #正確
 10 c = set((1,2,3)) #正確
 11 d = set({1:3,2:4}) #結果{1, 2}  只能取字典的key
 12 
 13 #add添加集合中的元素(添加一項)
 14 a = set([1,2,3])
 15 a.add(4) 
 16 print(a) #{1, 2, 3, 4}
 17 #update添加集合中的元素(添加多項)
 18 b = set([1,2,3])
 19 b.update([4,5,6]) 
 20 print(b) #{1, 2, 3, 4, 5, 6}
 21 #remove刪除集合中的元素(刪除一項) 如果不存在就會報錯
 22 a = set([1,2,3])
 23 a.remove(2) 
 24 print(a) #{1, 3}
 25 #discard刪除集合中的元素(刪除一項)如果不存在不會報錯
 26 n = set([2,3,4])
 27 n.discard(3)
 28 print(n) #{2, 4}
 29 #pop(隨機移除一個元素)
 30 n = set([2,3,4,5])
 31 n1 = n.pop()
 32 print(n,n1) #{3, 4, 5} 2
 33 #clear(清空所有元素)
 34 name = set(['Tom','Lucy','Ben'])
 35 name.clear()
 36 print(name) #輸出:set()
 37 
 38 #len計算集合長度
 39 a = set([1,2,3])
 40 b = set(['aaa', 'bbb', 'ccc'])
 41 print(len(a), len(b)) #3 3
 42 #in判斷某一個元素是不是在集合中
 43 a = set([1,2,3])
 44 print(1 in a) #True
 45 #copy淺復制
 46 a = set([1,2,3])
 47 b = a.copy()
 48 print(b) #{1, 2, 3}
 49 
 50 print('+_+_+_+_+_+_++_+_+_+_+_+_+_')
 51 a = [1,2,3,1,4,5,3,6]
 52 b = set(a) #去除列表a中重復的元素
 53 print(b) #{1, 2, 3, 4, 5, 6}
 54 print(type(b)) #<class 'set'>
 55 
 56 c = set([1,2,3,4,5,6])
 57 d = set([1,2,3,8,9,0])
 58 #求交集
 59 #方法1
 60 print(c.intersection(d)) #{1, 2, 3}
 61 #方法2
 62 print(c & d) #{1, 2, 3}
 63 #求並集(就是都放在一起,相同的僅保留一個)
 64 #方法1
 65 print(c.union(d)) #{0, 1, 2, 3, 4, 5, 6, 8, 9}
 66 #方法2
 67 print(c | d) #{0, 1, 2, 3, 4, 5, 6, 8, 9}
 68 #求差集(就是求1里面有而2里面沒有的,也就是去掉1里面和2相同的元素)
 69 #方法1
 70 print(c.difference(d)) #{4, 5, 6}
 71 #方法2
 72 print(c - d) #{4, 5, 6}
 73 
 74 #對稱差集(就是把兩個集合中不相同的元素提取出來)
 75 c = set([1,2,3,4,5,6])
 76 d = set([1,2,3,8,9,0])
 77 #方法1
 78 print(c.symmetric_difference(d)) #{0, 4, 5, 6, 8, 9}
 79 #方法2
 80 print(c ^ d) #{0, 4, 5, 6, 8, 9}
 81 
 82 #判斷子集和父集
 83 a = set([1,2,3])
 84 b = set([1,2,3,4,5,6])
 85 #判斷a是否是b的子集
 86 print(a.issubset(b)) #True
 87 #判斷b是否是a的父集
 88 print(b.issuperset(a)) #True
 89 #判斷兩個集合是否有交集,沒有交集就返回True,有交集就返回False
 90 a = set([1,2,3])
 91 b = set([4,5,6])
 92 c = set([1,4,5])
 93 print(a.isdisjoint(b)) #True
 94 print(a.isdisjoint(c)) #False
 95 
 96 """
 97 add(增加元素)
 98 name = set(['Tom','Lucy','Ben'])
 99 name.add('Juny')print(name) #輸出:{'Lucy', 'Juny', 'Ben', 'Tom'} 
100 
101 clear(清空所有元素)
102 name = set(['Tom','Lucy','Ben'])
103 name.clear()
104 print(name) #輸出:set() 
105 
106 copy(拷貝set集合)
107 name = set(['Tom','Lucy','Ben'])
108 new_name = name.copy()print(new_name) #輸出:{'Tom', 'Lucy', 'Ben'} 
109 
110 difference(返回兩個或多個集合中不同的元素,並生成新的集合)
111 A = set([2,3,4,5])
112 B = set([3,4])
113 C = set([2])
114 n = n1.difference(n2,n3)
115 print(n) #輸出:{5}#返回A集合里面,在B和C集合中沒有的元素,並生成新的集合 
116 
117 difference_update(刪除A集合里面,在B集合中存在的元素。)
118 A = set([2,3,4,5])
119 B = set([4,5])
120 A.difference_update(B)
121 print(A) #輸出:{2, 3} 
122 
123 discard(移除元素) 
124 n = set([2,3,4])
125 n.discard(3)
126 print(n) #輸出:{2, 4} 
127 
128 intersection(取交集,並生成新的集合)
129 n1 = set([2,3,4,5])
130 n2 = set([4,5,6,7])
131 n = n1.intersection(n2)
132 print(n) #輸出:{4, 5} 
133 
134 intersection_update(取交集,修改原來的集合)
135 n1 = set([2,3,4,5])
136 n2 = set([4,5,6,7])
137 n1.intersection_update(n2)
138 print(n1) #輸出:{4, 5} 
139 
140 isdisjoint(判斷交集,是返回False,否返回True)
141 n1 = set([2,3,4,5])
142 n2 = set([4,5,6,7])
143 print(n1.isdisjoint(n2)) #輸出:False 
144 
145 issubset(判斷子集)
146 A = set([2,3])
147 B = set([2,3,4,5])
148 print(A.issubset(B)) #輸出:True#A是B的子集 
149 
150 issuperset(判斷父集)
151 A = set([2,3])
152 B = set([2,3,4,5])
153 print(B.issuperset(A)) # 輸出:True#B是A的父集 
154 
155 pop(隨機移除一個元素)
156 n = set([2,3,4,5])
157 n1 = n.pop()
158 print(n,n1) # 輸出:{3, 4, 5} 2 
159 
160 remove(移除指定元素)
161 n = set([2,3,4,5])
162 n.remove(2)
163 print(n) # 輸出:{3, 4, 5} 
164 
165 symmetric_difference(取交集,並生成新的集合)
166 A = set([2,3,4,5])
167 B = set([4,5,6,7])
168 print(A.symmetric_difference(B)) # 輸出:{2, 3, 6, 7} 
169 
170 symmetric_difference_update(取交集,改變原來的集合)
171 A = set([2,3,4,5])
172 B = set([4,5,6,7])
173 A.symmetric_difference_update(B)
174 print(A) # 輸出:{2, 3, 6, 7} 
175 
176 union(取並集,並生成新的集合)
177 A = set([2,3,4,5])
178 B = set([4,5,6,7])
179 print(A.union(B)) # 輸出:{2, 3, 4, 5, 6, 7} 
180 
181 update(取並集,改變原來的集合)
182 A = set([2,3,4,5])
183 B = set([4,5,6,7])
184 A.update(B)
185 print(A) # 輸出:{2, 3, 4, 5, 6, 7} 
186 """

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM