python 之集合(set)
阿新 • • 發佈:2020-12-26
集合是一個無序的,不允許重複的元素列表,根據這個特性,可以利用集合對列表進行去重操作
集合建立
# 集合中不能含list、dict set2 = {"rice", 1, (True, False)} # 通過set()函式傳入可迭代物件建立集合 set3 = set(range(10)) set4 = set(list(range(10))) set5 = set(tuple(range(10))) set6 = set("hello")print(set2) print(set3) print(set4) print(set5) print(set6)
列印結果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py {1, (True, False), 'rice'} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {'e', 'l', 'h', 'o'}
集合運算
set1 = {2, 3, 4, 6, 5, 10} set2 = {1, 3, 4, 9, 10} # 集合的交集, 取共有的元素 result1 = set1 & set2 # 集合的差集,取集合2中不存在的元素 result2 = set1 - set2 # 集合的並集,取集合1、2所有元素result3 = set1 | set2 # 集合的對稱差,取集合1、集合2中不相同的元素 result4 = set1 ^ set2 print(result1) print(result2) print(result3) print(result4)
列印結果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py {10, 3, 4} {2, 5, 6} {1, 2, 3, 4, 5, 6, 9, 10} {1, 2, 5, 6, 9}
給列表去重操作
list1 = [2, 2, 4, 5, 6, 6, 9, 0, 9]# 利用集合去重 set1 = set(list1) # 再將集合轉成列表 list1 = list(set1) print(list1)
列印結果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py [0, 2, 4, 5, 6, 9]