Python set()的使用
python的集合型別和其他語言類似, 是一個無序不重複元素集,我在之前學過的其他的語言好像沒有見過這個型別,基本功能包括關係測試和消除重複元素.集合物件還支援union(聯合), intersection(交), difference(差)和sysmmetricdifference(對稱差集)等數學運算,和我們初中數學學的集合的非常的相似。
1先看下python 集合型別的不重複性,這方面做一些去重處理非常的好,比如我們要處理一些資料,想把重複的資料給
去掉,然後在操作的話,可以把它轉換成集合型別,然後在由集合型別轉換成其他的型別。
a = [2,3,4,2,1]
我們最終要實現的效果是:a = [1,2,3,4]
那我們要怎麼實現呢。
1觀察下這個列表,我們發現列表裡有重複的元素存在,所以我們第一想到的就是去掉列表裡的重複元素。
a = set(a)
print a
集合a的結果是:set([1, 2, 3, 4])
下一步要實現排序,我們又想到了一個比較簡單的方法,因為集合沒有排序方法,而列表有排序的方法,所以我們們把它轉換成
a = list(a)
a.sort()
print a
列表a的結果是:[1,2,3,4]
2union(聯合), intersection(交), difference(差)
a = set('abcde')
b = set('bdcf')
求集合的交集:
a & b
結果是:set(['c', 'b', 'd'])
求差集:
a - b
結果是:set(['a', 'e'])
求聯合:
a|b
結果是:set(['a', 'c', 'b', 'e', 'd', 'f'])
總結:python 集合和數學的集合概念比較像,經常用在資料的去重處理和一些資料的中轉處理。