Python - 串接集合

你好啊,有抱負的 Python 程式設計師!今天,我們將深入探討令人著迷的集合世界,並學習如何串接它們。作為你友善的鄰居電腦科學老師,我非常高興能引導你走過這段旅程。所以,拿起你最喜歡的飲料,放鬆一下,讓我們一起踏上這段 Python 的冒險吧!

Python - Join Sets

Python 中的集合是什麼?

在我們跳進串接集合之前,先快速回顧一下 Python 中的集合是什麼。將集合想像成一個神奇的袋子,可以裝入獨特的物品。無論你試圖放多少次相同的物品進去,它只會出現一次。這不很神奇嗎?

這裡有一個簡單的例子:

fruit_basket = {"apple", "banana", "orange", "apple"}
print(fruit_basket)

輸出:

{'orange', 'banana', 'apple'}

注意到 "apple" 雖然我們試著加了兩次,但只出現一次嗎?那就是集合的魔力!

串接 Python 中的集合

現在,讓我們進入主菜 - 串接集合。想像你有兩個水果籃子,你想將它們合併成一個超級水果籃子。這基本上就是串接集合的全部內容!

使用 "|" 運算符串接 Python 集合

"|" 運算符像是兩個集合之間的橋樑。它創建了一個新的集合,包含兩個集合中的所有獨特元素。讓我們看看它的作用:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = basket1 | basket2
print(super_basket)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

看到 "banana" 在超級籃子中只出現一次嗎?這是因為集合只保留獨特項目。這就像派對上有一個不重複的規則!

使用 union() 方法串接 Python 集合

union() 方法是串接集合的另一種方式。這就像組織一個重聚,不同群組的所有獨特成員都聚集在一起。這是它的工作原理:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = basket1.union(basket2)
print(super_basket)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

使用 "|" 運算符和這個方法得到的结果是一樣的。這只是說 "讓我們聯合這些集合" 的更正式的方式!

使用 update() 方法串接 Python 集合

現在,如果你想要將一個集合中的所有獨特項目添加到另一個集合中,並修改原始集合該怎麼辦?這就是 update() 的用處。這就像邀請朋友參加你的派對,而他們成為你朋友群組的一部分:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

basket1.update(basket2)
print(basket1)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

注意到籃子1現在包含了籃子2中的所有獨特項目嗎?這就像籃子1變得更大,以容納新朋友!

使用展開運算符 (*) 串接 Python 集合

展開運算符 (*) 類似於一個魔術師,可以展開集合的內容。當與 set() 一起使用時,它會創建一個包含所有獨特元素的新集合。讓我們看看這個魔術:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}
basket3 = {"mango", "pineapple", "kiwi"}

super_basket = set(*basket1, *basket2, *basket3)
print(super_basket)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi', 'mango', 'pineapple'}

這就像魔術師從每個籃子中拉出所有的水果,然後將它們放進一個大籃子裡,確保沒有重複!

使用集合解析串接 Python 集合

集合解析就像擁有一個聰明的機器人,可以快速根據某些條件創建一個新的集合。這是我們如何使用它來串接集合:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = {item for set_ in (basket1, basket2) for item in set_}
print(super_basket)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

這就像告訴我們的機器人:"遍歷每個籃子,拿起每個水果,然後把它放在超級籃子裡,但記住,沒有重複!"

使用迭代添加串接 Python 集合

最後,我們可以通過迭代添加元素來串接集合。這就像手動從不同的籃子中挑選水果,然後將它們添加到新的籃子中:

basket1 = {"apple", "banana", "orange"}
basket2 = {"grape", "kiwi", "banana"}

super_basket = set()
for item in basket1:
super_basket.add(item)
for item in basket2:
super_basket.add(item)

print(super_basket)

輸出:

{'apple', 'banana', 'orange', 'grape', 'kiwi'}

這種方法讓你有更多的控制權,就像能在將水果添加到你的超級籃子之前檢查每個水果一樣。

總結集合串接方法

這裡有一個快速參考表,列出了我們學過的所有方法:

方法 語法 描述
" " 運算符 set1 | set2
union() set1.union(set2) 返回一個包含兩個集合元素的新集合
update() set1.update(set2) 將 set2 的元素添加到 set1
展開 set(set1, set2) 通過展開元素創建一個新集合
集合解析 {item for set in (set1, set2) for item in set} 使用解析創建一個新集合
迭代添加 for item in set2: set1.add(item) 逐個將 set2 的元素添加到 set1

就是這樣,各位!你剛剛學會了六種不同的串接 Python 集合的方法。記住,編程就像烹飪 - 往往有超過一種方法可以達到相同的效果。關鍵是理解每種方法,並選擇最適合你需求的那一個。

繼續練習,保持好奇,編程愉快!在你意識到之前,你將能夠像專業程序員一樣熟练地操作集合。直到下次,這是你友善的鄰居電腦科學老師,簽退了!

Credits: Image by storyset