python 集合的相關用法
阿新 • • 發佈:2018-12-17
集合是無序的,不重複的資料型別,可以改的資料型別 (不可雜湊)但裡面的資料 不能更改(可哈西)所以說集合是不能夠作為字典的鍵
由於集合的元素不重複,所以可以用集合來消除重複元素.
s = [1,2,2,2,3,4] s1 = set(s) s = list(s1) print(s) # [1,2,3,4]
集合的增
s = {1,2,3} s.add('是啥') print(s) # {'是啥', 1, 2, 3}
s.update(['沒啥'])
print(s) # {1, 2, 3, '是啥', '沒啥'}
s.update('嘻嘻哈哈')
print(s) # {1, 2, 3, '是啥', '沒啥', '嘻', '哈'}
'''
update 為可迭代物件 物件為括號裡物件的最小元素 (str 和list 不同)
'''
集合的刪
set1 = {'alex', 'wusir', 'ritian', 'egon', 'barry'} print(set1) set1.remove('alex') print(set1) # {'wusir', 'ritian', 'barry', 'egon'} set1 = set1.pop() print(set1,s) # {'ritian', 'barry', 'egon'} wusir
set1.clear()
# 清空集合
del set1
#刪除集合
''' remove 指定移除物件 pop 隨機移除物件 '''
由於集合的元素不可更改,所以集合沒有 改
由於集合的元素是無序的,所以沒有集合的查
集合的其他操作
集合的交集(& intersection ())
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 & set2) # 交集 {4,5} print(set1.intersection(set2)) #交集 {4,5}
集合的並集( | union())
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 | set2) # 並集 {1,2,3,4,5,6,7,8}print(set1.union(set2)) # 並集 {1,2,3,4,5,6,7,8}
集合的差集(- difference())
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set2 - set1) # 差集 {6,7,8} print(set1.difference(set2)) # 差集 {1,2,3}
集合的反交集(^ symmetric_difference() )
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8} print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}
集合的子集和超集( < isssubset() issuperset())
set1 = {1,2,3} set2 = {1,2,3,4,5,6} print(set1 < set2) print(set1.issubset(set2)) # 這兩個相同,都是說明set1是set2子集。 print(set2 > set1) print(set2.issuperset(set1)) # 這兩個相同,都是說明set2是set1超集。
集合的不可變()
s = frozenset('barry') print(s,type(s)) # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>