Python之集合定義和基本操作方法
阿新 • • 發佈:2020-10-23
1. 定義:由 (不同元素) 組成的集合,其中是一組無序的可hash的值,可以作為字典的key
2. 特性:將不同的值放到一起,不同的集合間來做關係運算,集合中的元素必須是不可變型別,沒有重複的元素
set方法: s = {1,3,6,'test',3,4,2,} print(s,type(s)) 結果:{1, 2, 3, 4, 6} <class 'set'> m = set('hello') -- 使用set,可在裡面傳入列表,將其遍歷轉換成集合 print(m) 結果:{'l', 'e', 'o', 'h'} s.add('3') add只能更新一個值 s.add(3) print(s) 結果:{1, 2, 3, 4, 6, '3'} s.clear() - 清空集合 s.copy() - 淺拷貝 s.pop() - 隨機刪除 s.remove('test') - 刪除指定的值,若傳入的值不存在會報錯 s.discard('test') - 刪除指定的值,若傳入值不存在 也不會報錯 s= {3,4} s.update((1,2)) 更新集合 print(s) 結果:{1, 2, 3, 4} 將集合設定成不可變型別: s = frozenset('hello') print(s) 結果:frozenset({'l', 'o', 'e', 'h'})
3. 集合的交 ,差,並集,交差補集,空集,子集,父集
求交集和並集: s1 = {1,3,6,4,2,} s2 = {1,5,7,6,2,8,} print(s1 & s2)
print(s1 | s2) 結果:
{1, 2, 6}
{1, 2, 3, 4, 5, 6, 7, 8}
求差集:
print(s1 - s2)
print(s2 - s1)
結果:
{3,4}
{8,5,7}
求交差補集:
print(s1 ^ s2)
結果:{3, 4, 5, 7, 8}
交集為空返回True:
s3 = {1,2}
s4 = {3,4}
print(s3.isdisjoint(s4))
結果:True
子集(s4是s3的子集,則返回True):
s3 = {1,2,3,4}
s4 = {3,4}
print(s4.issubset(s3))
結果:True
父集(s3是s4的父集,則返回True):
s3 = {1,2,3,4}
s4 = {3,4}
print(s3.issuperset(s4))
結果:True