集合具有無序性,互異性 一.集合的建立 空集合 集合內的元素是可哈希的即不可變的數據類型 二.添加元素 update可以添加多個元素 三.刪除元素 discard和remove都可以表示刪除一個元素,但若集合中沒有該元素,則使用remove會報錯,discard不會 pop clear 四.不可變集 ...
集合具有無序性,互異性
一.集合的建立
空集合
s=set() s={}#這樣預設為是一個空字典
集合內的元素是可哈希的即不可變的數據類型
s={1,2,3,4} s=set([1,2,3,4])
s=set('python')
print(s)#{'h', 'y', 't', 'n', 'p', 'o'}
二.添加元素
s=set([1,2,3,4]) s.add(5) print(s)#{1,2,3,4,5}
update可以添加多個元素
s.update([5,6]) print(s)#{1, 2, 3, 4, 5, 6} s.update([7,8],{9,10}) print(s)#{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
三.刪除元素
discard和remove都可以表示刪除一個元素,但若集合中沒有該元素,則使用remove會報錯,discard不會
s={1,2,3,4} s.remove(1) print(s)#{2, 3, 4} s.discard(2) print(s)#{3, 4} s.discard(5) s.remove(5)#這句會報錯
pop
s={1,2,3,4} a=s.pop()#隨機刪除一個元素並將其作為返回值
print(a)
clear
s.clear()#清空集合 print(s)#set()空集合
四.不可變集合frozenset
s=frozenset(1,2,3,4)#不能進行增加或刪除等操作
五.集合之間的關係
s1=set([1,2,3,4,5]) s2=set([4,5,6,7,8])
交集
s3=s1&s2 print(s3)#{4,5} s3=s1.intersection(s2) print(s3)#{4,5}
並集
s3=s1|s2 print(s3)#{1, 2, 3, 4, 5, 6, 7, 8} s3=s1.union(s2) print(s3)#{1, 2, 3, 4, 5, 6, 7, 8}
差集
#屬於s1但不屬於s2 s3=s1-s2 print(s3)#{1, 2, 3} s3=s1.difference(s2) print(s3)#{1, 2, 3}
對稱差
#除去s1和s2中相同的元素 s3=s1^s2 print(s3)#{1, 2, 3, 6, 7, 8} s3=s1.symmetric_difference(s2) print(s3)#{1, 2, 3, 6, 7, 8}
子集
s1={1,2,3,4} s2={3,4,5,6} s3={2,3,4} print(s2<s1)#False print(s3<s1)#True print(s3.issubset(s1))#True
超集
s1={1,2,3,4} s2={3,4,5,6} s3={2,3,4} print(s1>s2)#False print(s1>s3)#True print(s1.issuperset(s3))#True