1. 程式人生 > 實用技巧 >python 之集合(set)

python 之集合(set)

集合是一個無序的,不允許重複的元素列表,根據這個特性,可以利用集合對列表進行去重操作

集合建立

# 集合中不能含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]