集合的常規操作

"""
1.集合是有不同元素組成的
2.集合的元素必須是不可變類型
3.集合的元素是沒有順序的
"""
ps = {'a','b','a','c','d'}

ls = {'a','b','c','e','f'}
"""去重"""
print(''50)
print('去重')
v = set(ps)
print(v)
"""集合的元素是不可變類型"""
print(''50)
print('集合的元素是不可變類型')

bs = {[1,2]} # 列表是可變類型

bs = {(1,2)}
print(bs)
"""複製集合"""
print(''50)
print("複製集合")
s5 = {4,5,6}
print(s5.copy())
"""清空集合"""
print(''50)
print('清空集合')
s6 = {44,888,999}
print(s6.clear())
"""for 循環"""
print(''50)
print("for 循環")
for i in ps:
print(i)

"""隨機刪除"""
print('隨機刪除')
print(''50)
v1 = ps.pop()
print(v1)
print(ps)
"""指定刪除,如果元素不存在會報錯"""
print(''50)
print("指定刪除,如果元素不存在會報錯")
v2 = ps.remove('a')
#v3 = ps.remove('aaa')# 'aaa'不存在
print(v2)
print(ps)
"""指定刪除,如果元素不存在也不會報錯"""
print(''50)
print("指定刪除,如果元素不存在也不會報錯")
v4 = ps.discard('ccc')
print(ps)
"""添加元素,一次只能添加一個元素,添加多了會報錯"""
print(''50)
print("添加元素,一次只能添加一個元素,添加多了會報錯")
ps.add('bbb')
print(ps)
"""求交集"""
print("求交集")

ps = {'d','bbb','b'}
ls = {'a','b','c','e','f'}
print(''50)
#print(ps&ls)
print(ps.intersection(ls))# 兩種寫法一樣
"""求並集"""
print(''50)
print("求並集")
ps = {'d','bbb','b'}
ls = {'a','b','c','e','f'}
#print(ps|ls)
print(ps.union(ls))
"""求差集"""
print(''50)
print("求差集")
ps = {'d','bbb','b'}
ls = {'a','b','c','e','f'}
#print(ps-ls)
print(ps.difference(ls))
"""求交叉補集,去除兩邊共有的,把兩邊沒有的合併起來"""
print(''50)
print("求交叉補集,去除兩邊共有的,把兩邊沒有的合併起來")
ps = {'d','bbb','b'}
ls = {'a','b','c','e','f'}
#print(ps^ls)
print(ps.symmetric_difference(ls))
"""子集"""
print("子集")
print(''50)
s1 = {1,2}
s2 = {1,2,3}
#v5 = s1<s2
v5 = s1.issubset(s2)
print(v5)
"""父集"""
print("父集")
print(''50)
s1 = {1,2}
s2 = {1,2,3}
v6 =s2 > s1
print(v6)
"""判斷兩集合是否有交集,如果有返回一個True"""
print(''50)
print('兩集合是否有交集,如果有返回一個True')

s3 = {1,2}
s4 = {3,4}
v7 = s3.isdisjoint(s4)

print(v7)
"""更新,一次能添加多個元素,只要是可迭代對象都可以,可迭代對象就是可以進行for循環的對象"""
print(''50)
print('更新,一次能添加多個元素,只要是可迭代對象都可以,可迭代對象就是可以進行for循環的對象')
s7 = {1,2,3}
s8 = {4,5,6}
s7.update(s8)
print(s7)
"""定義不可變集合,不可增刪修改"""
print(''50)
print('定義不可變集合,不可增刪修改')
s = frozenset('hello')
print(s)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章