iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
自我挑戰組

30 天全面認識 Python系列 第 20

Day 20:集合(Set)的基礎操作

  • 分享至 

  • xImage
  •  

為什麼要學集合?

集合(Set)是一種特殊的資料結構,裡面的元素「不重複」而且「沒有順序」。這讓它非常適合用來處理需要重複快速判斷成員是否存在的情境,例如:計算文章裡有多少不同的單字,或檢查某個值是否在一個集合中。

建立集合

集合用大括號 {} 表示,也可以用 set() 建立:

fruits = {"apple", "banana", "cherry"}
print(fruits)   # {'apple', 'banana', 'cherry'}

# 用 set() 從 list 建立
nums = set([1, 2, 2, 3, 4, 4])
print(nums)     # {1, 2, 3, 4} (自動去掉重複)

集合的操作

集合支援數學裡的「交集、聯集、差集」:

a = {1, 2, 3}
b = {3, 4, 5}

print(a | b)  # 聯集 → {1, 2, 3, 4, 5}
print(a & b)  # 交集 → {3}
print(a - b)  # 差集 → {1, 2}
print(a ^ b)  # 對稱差集 → {1, 2, 4, 5}

集合的方法

s = {"apple", "banana"}
s.add("cherry")       # 新增元素
s.remove("banana")    # 移除元素(若不存在會報錯)
s.discard("pear")     # 移除元素(不存在也不會報錯)
print("apple" in s)   # 判斷元素是否存在 → True

今日小挑戰

寫一個程式,讓使用者輸入兩句話,請你:把每句話分割成單字(用空白分隔)轉換成集合
印出:

  • 兩句話的所有單字(聯集)
  • 兩句話都出現過的單字(交集)
    -只在第一句話出現的單字(差集)
    這個挑戰能讓你熟悉集合的特性,並且體驗用 Python 做到「去重複 + 比較」有多簡單
    --- by Ricky

上一篇
Day 19:檔案操作與基礎 I/O
下一篇
Day 21:集合的進階應用
系列文
30 天全面認識 Python22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言