一、Python集合介紹
Python集合是一種無序可變的容器,它可以存儲不同類型的數據,包括數字、字元串和元素為其它對象的集合,同時集合中的元素不重複。Python集合的特點是它們非常快速地支持成員檢查及其它數學操作,如交集、並集、差集等等。Python集合可以用花括弧 {} 或者 set() 函數來創建,下面是幾個示例:
#創建一個空集合 s = {} #創建一個有元素的集合 s = {1, 2, 3} #使用set() 函數創建集合 s = set('hello')
上述代碼段中,Python集合 s 中的元素不重複,也沒有特定的順序,因為 Python 集合是無序的, 所以我們在處理數據時可以很方便地利用集合來實現一些高效的演算法。
二、Python集合的基本操作
1.成員檢查
Python集合提供了一種非常快速地成員檢查機制,使用in 或 not in操作符來判斷是否存在於集合中。
s = {1, 2, 3, 4, 5} print(3 in s) # True print(8 not in s) # True
2.集合的數學操作
Python集合除了成員檢查,還提供了幾個重要的數學操作,如並集、交集、差集等等,這些操作可以用運算符號或者集合的方法來實現。
a = {1, 2, 3, 4} b = {3, 4, 5, 6} #並集 print(a | b) # {1, 2, 3, 4, 5, 6} #交集 print(a & b) # {3, 4} #差集 print(a - b) # {1, 2}
3.集合的增刪改查
Python集合可以通過 add() 和 remove() 方法來進行添加和刪除元素,另外還可以使用 update() 方法來將另一個集合中的元素合併到當前集合中。Python集合不支持索引操作,因為集合的元素是無序的。
#添加元素 s = {1, 2, 3} s.add(4) # {1, 2, 3, 4} #刪除元素 s.remove(4) # {1, 2, 3} #合併集合 s1 = {1, 2, 3} s2 = {3, 4, 5} s1.update(s2) # {1, 2, 3, 4, 5}
三、Python集合的應用場景
1.集合用作過濾器
Python集合可以作為過濾器,快速地過濾出數據集合中的重複項,具有非常高效的去重功能。下面是一個示例,可以快速地過濾出列表中的重複元素。
lst = [1, 2, 2, 3, 4, 4, 5] result = list(set(lst)) print(result) #[1, 2, 3, 4, 5]
2.集合用作頻率統計器
Python集合還可以作為頻率統計器,統計列表中每個元素出現的次數。
lst = [1, 2, 2, 3, 4, 4, 5] counter = {} for item in lst: if item in counter: counter[item] += 1 else: counter[item] = 1 print(counter) #{1: 1, 2: 2, 3: 1, 4: 2, 5: 1}
3.集合用作矩陣運算
Python集合還可以用於矩陣運算,例如計算兩個向量的點積(dot product)。
a = {1, 2, 3} b = {3, 4, 5} s = sum([i * j for i, j in zip(a, b)]) print(s) #26
四、結語
Python集合作為一種無序可變的容器,具有非常高效的成員檢查和數學操作,是Python程序員非常常用的高效處理數據的利器之一。在實際編程中,我們可以根據需求使用集合來實現快速的去重和統計,或作為過濾器和矩陣運算等等。擴展了這些使用方式,可以更好地在工作和學習中應用Python集合。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309067.html