
- Python 基礎
- Python - 首頁
- Python - 概述
- Python - 歷史
- Python - 特性
- Python vs C++
- Python - Hello World 程式
- Python - 應用領域
- Python - 直譯器
- Python - 環境搭建
- Python - 虛擬環境
- Python - 基本語法
- Python - 變數
- Python - 資料型別
- Python - 型別轉換
- Python - Unicode 系統
- Python - 字面量
- Python - 運算子
- Python - 算術運算子
- Python - 比較運算子
- Python - 賦值運算子
- Python - 邏輯運算子
- Python - 位運算子
- Python - 成員運算子
- Python - 身份運算子
- Python - 運算子優先順序
- Python - 註釋
- Python - 使用者輸入
- Python - 數字
- Python - 布林值
- Python 控制語句
- Python - 控制流
- Python - 決策
- Python - If 語句
- Python - If else
- Python - 巢狀 If
- Python - Match-Case 語句
- Python - 迴圈
- Python - for 迴圈
- Python - for-else 迴圈
- Python - While 迴圈
- Python - break 語句
- Python - continue 語句
- Python - pass 語句
- Python - 巢狀迴圈
- Python 函式與模組
- Python - 函式
- Python - 預設引數
- Python - 關鍵字引數
- Python - 僅限關鍵字引數
- Python - 位置引數
- Python - 僅限位置引數
- Python - 可變引數
- Python - 變數作用域
- Python - 函式註解
- Python - 模組
- Python - 內建函式
- Python 字串
- Python - 字串
- Python - 字串切片
- Python - 修改字串
- Python - 字串連線
- Python - 字串格式化
- Python - 跳脫字元
- Python - 字串方法
- Python - 字串練習
- Python 列表
- Python - 列表
- Python - 訪問列表元素
- Python - 修改列表元素
- Python - 新增列表元素
- Python - 刪除列表元素
- Python - 迴圈遍歷列表
- Python - 列表推導式
- Python - 排序列表
- Python - 複製列表
- Python - 合併列表
- Python - 列表方法
- Python - 列表練習
- Python 元組
- Python - 元組
- Python - 訪問元組元素
- Python - 更新元組
- Python - 解包元組
- Python - 迴圈遍歷元組
- Python - 合併元組
- Python - 元組方法
- Python - 元組練習
- Python 集合
- Python - 集合
- Python - 訪問集合元素
- Python - 新增集合元素
- Python - 刪除集合元素
- Python - 迴圈遍歷集合
- Python - 合併集合
- Python - 複製集合
- Python - 集合運算子
- Python - 集合方法
- Python - 集合練習
- Python 字典
- Python - 字典
- Python - 訪問字典元素
- Python - 修改字典元素
- Python - 新增字典元素
- Python - 刪除字典元素
- Python - 字典檢視物件
- Python - 迴圈遍歷字典
- Python - 複製字典
- Python - 巢狀字典
- Python - 字典方法
- Python - 字典練習
- Python 陣列
- Python - 陣列
- Python - 訪問陣列元素
- Python - 新增陣列元素
- Python - 刪除陣列元素
- Python - 迴圈遍歷陣列
- Python - 複製陣列
- Python - 反轉陣列
- Python - 排序陣列
- Python - 合併陣列
- Python - 陣列方法
- Python - 陣列練習
- Python 檔案處理
- Python - 檔案處理
- Python - 寫入檔案
- Python - 讀取檔案
- Python - 重新命名和刪除檔案
- Python - 目錄
- Python - 檔案方法
- Python - OS 檔案/目錄方法
- Python - OS 路徑方法
- 面向物件程式設計
- Python - OOPs 概念
- Python - 類與物件
- Python - 類屬性
- Python - 類方法
- Python - 靜態方法
- Python - 建構函式
- Python - 訪問修飾符
- Python - 繼承
- Python - 多型
- Python - 方法重寫
- Python - 方法過載
- Python - 動態繫結
- Python - 動態型別
- Python - 抽象
- Python - 封裝
- Python - 介面
- Python - 包
- Python - 內部類
- Python - 匿名類和物件
- Python - 單例類
- Python - 包裝器類
- Python - 列舉
- Python - 反射
- Python 錯誤與異常
- Python - 語法錯誤
- Python - 異常
- Python - try-except 程式碼塊
- Python - try-finally 程式碼塊
- Python - 丟擲異常
- Python - 異常鏈
- Python - 巢狀 try 程式碼塊
- Python - 使用者自定義異常
- Python - 日誌記錄
- Python - 斷言
- Python - 內建異常
- Python 多執行緒
- Python - 多執行緒
- Python - 執行緒生命週期
- Python - 建立執行緒
- Python - 啟動執行緒
- Python - 連線執行緒
- Python - 執行緒命名
- Python - 執行緒排程
- Python - 執行緒池
- Python - 主執行緒
- Python - 執行緒優先順序
- Python - 守護執行緒
- Python - 執行緒同步
- Python 同步
- Python - 執行緒間通訊
- Python - 執行緒死鎖
- Python - 中斷執行緒
- Python 網路程式設計
- Python - 網路程式設計
- Python - 套接字程式設計
- Python - URL 處理
- Python - 泛型
- Python 庫
- NumPy 教程
- Pandas 教程
- SciPy 教程
- Matplotlib 教程
- Django 教程
- OpenCV 教程
- Python 雜項
- Python - 日期與時間
- Python - 數學
- Python - 迭代器
- Python - 生成器
- Python - 閉包
- Python - 裝飾器
- Python - 遞迴
- Python - 正則表示式
- Python - PIP
- Python - 資料庫訪問
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 輸出格式化
- Python - 效能測量
- Python - 資料壓縮
- Python - CGI 程式設計
- Python - XML 處理
- Python - GUI 程式設計
- Python - 命令列引數
- Python - 文件字串
- Python - JSON
- Python - 傳送郵件
- Python - 擴充套件
- Python - 工具/實用程式
- Python - 圖形使用者介面
- Python 高階概念
- Python - 抽象基類
- Python - 自定義異常
- Python - 高階函式
- Python - 物件內部
- Python - 記憶體管理
- Python - 元類
- Python - 使用元類進行超程式設計
- Python - 模擬和存根
- Python - 猴子補丁
- Python - 訊號處理
- Python - 型別提示
- Python - 自動化教程
- Python - Humanize 包
- Python - 上下文管理器
- Python - 協程
- Python - 描述符
- Python - 診斷和修復記憶體洩漏
- Python - 不可變資料結構
- Python 有用資源
- Python - 問答
- Python - 線上測驗
- Python - 快速指南
- Python - 參考
- Python - 速查表
- Python - 專案
- Python - 有用資源
- Python - 討論
- Python 編譯器
- NumPy 編譯器
- Matplotlib 編譯器
- SciPy 編譯器
Python - 集合
Python 中的集合
在 Python 中,集合是一個無序的唯一元素集合。與列表或元組不同,集合不允許重複值,即集合中的每個元素都必須是唯一的。集合是可變的,這意味著在建立集合後,您可以新增或刪除專案。
集合使用花括號 {} 或內建的 set() 函式定義。它們對於成員資格測試、從序列中刪除重複項以及執行常見的數學集合運算(如並集、交集和差集)特別有用。
集合指的是一組不同的物件。它用於將物件組合在一起並研究它們的屬性和關係。集合中的物件稱為集合的元素或成員。
在 Python 中建立集合
在 Python 中建立集合是指定義和初始化一組唯一元素。這包括指定將成為集合一部分的元素,並確保每個元素在集合中都是唯一的。
您可以使用花括號 {} 或 set() 函式在 Python 中建立集合 -
使用花括號
您可以透過在花括號內列出其元素來直接定義一個集合,用逗號分隔每個元素,如下所示 -
my_set = {1, 2, 3, 4, 5} print (my_set)
它將產生以下結果 -
{1, 2, 3, 4, 5}
使用 set() 函式
或者,您可以使用 set() 函式透過傳遞一個可迭代物件(如列表或元組)來建立集合,該可迭代物件包含您希望包含在集合中的元素 -
my_set = set([1, 2, 3, 4, 5]) print (my_set)
我們得到如下所示的輸出 -
{1, 2, 3, 4, 5}
集合中的重複元素
Python 中的集合是唯一元素的無序集合。如果您嘗試使用重複元素建立集合,則重複元素將自動刪除 -
my_set = {1, 2, 2, 3, 3, 4, 5, 5} print (my_set)
獲得的結果如下所示:
{1, 2, 3, 4, 5}
集合可以包含不同資料型別的元素,包括數字、字串,甚至其他集合(只要它們是不可變的):
mixed_set = {1, 'hello', (1, 2, 3)} print (mixed_set)
產生的結果如下所示:
{1, 'hello', (1, 2, 3)}
在 Python 中,集合支援各種用於操作其元素的基本操作。這些操作包括新增和刪除元素、檢查成員資格以及執行特定於集合的操作,如並集、交集、差集和對稱差集。
在集合中新增元素
要向集合新增元素,可以使用 add() 函式。當您想要將新元素包含到現有集合中時,這很有用。如果該元素已存在於集合中,則集合保持不變:
my_set = {1, 2, 3, 3} # Adding an element 4 to the set my_set.add(4) print (my_set)
以下是獲得的輸出:
{1, 2, 3, 4}
從集合中刪除元素
您可以使用 remove() 函式從集合中刪除元素。當您想要從集合中消除特定元素時,這很有用。如果元素不存在,則會引發 KeyError:
my_set = {1, 2, 3, 4} # Removes the element 3 from the set my_set.remove(3) print (my_set)
顯示的輸出如下所示:
{1, 2, 4}
或者,您可以使用
my_set = {1, 2, 3, 4} # No error even if 5 is not in the set my_set.discard(5) print (my_set)
我們得到如下所示的輸出 -
{1, 2, 3, 4}
集合中的成員資格測試
集合提供了一種有效的方法來檢查元素是否在集合中。您可以使用in關鍵字執行此檢查,如果元素存在則返回True,否則返回False:
my_set = {1, 2, 3, 4} if 2 in my_set: print("2 is present in the set") else: print("2 is not present in the set")
以下是上述程式碼的輸出:
2 is present in the set
集合操作
在 Python 中,集合支援各種集合操作,用於操作和比較集合。這些操作包括並集、交集、差集、對稱差集和子集測試。在處理唯一元素的集合並根據集合論執行操作時,集合特別有用。
並集 - 它使用 union() 函式或|運算子組合來自兩個集合的元素。
交集 - 它用於使用 intersection() 函式或&運算子獲取公共元素。
差集 - 它用於使用 difference() 函式或-運算子獲取在一個集合中但在另一個集合中不存在的元素。
對稱差集 - 它用於使用 symmetric_difference() 方法或^運算子獲取在任一集合中但在兩個集合中都不存在的元素。
Python 集合推導式
Python 中的集合推導式是一種基於可迭代物件建立集合的簡潔方法,類似於列表推導式。它用於透過將表示式應用於可迭代物件中的每個專案來生成集合。
當您需要根據應用某些操作的結果建立集合或從另一個可迭代物件中過濾元素時,集合推導式很有用。
語法
集合推導式的語法類似於列表推導式,但您使用花括號 { } 來表示集合,而不是方括號 [ ]:
set_variable = {expression for item in iterable if condition}
示例
在下面的示例中,我們使用集合推導式建立了一個包含 1 到 5 的數字的平方的集合:
squared_set = {x**2 for x in range(1, 6)} print(squared_set)
獲得的輸出如下所示:
{1, 4, 9, 16, 25}
使用集合推導式過濾元素
您可以在集合推導式中包含條件語句,以根據某些條件過濾元素。例如,要建立 1 到 10 之間偶數的集合,您可以使用帶 if 條件的集合推導式,如下所示:
even_set = {x for x in range(1, 11) if x % 2 == 0} print(even_set)
這將產生以下輸出:
{2, 4, 6, 8, 10}
巢狀集合推導式
集合推導式也支援巢狀迴圈,允許您從巢狀的可迭代物件建立集合。這對於生成元素的組合或排列很有用。
示例
nested_set = {(x, y) for x in range(1, 3) for y in range(1, 3)} print(nested_set)
上述程式碼的輸出如下所示:
{(1, 1), (1, 2), (2, 1), (2, 2)}
凍結集合
在 Python 中,凍結集合是唯一元素的不可變集合,類似於常規集合,但區別在於它在建立後不能修改。一旦建立,凍結集合中的元素就不能新增、刪除或修改,這使得它成為您需要不可變集合時的合適選擇。
您可以使用 frozenset() 函式在 Python 中建立凍結集合,方法是傳遞一個可迭代物件(例如列表、元組或其他集合),其中包含您想要包含在凍結集合中的元素。
示例
在下面的示例中,我們建立了一個整數的凍結集合,然後向其中新增一個元素:
my_frozen_set = frozenset([1, 2, 3]) print(my_frozen_set) my_frozen_set.add(4)
以下是上述程式碼的輸出:
frozenset({1, 2, 3}) Traceback (most recent call last): File "/home/cg/root/664b2732e125d/main.py", line 3, in <module> my_frozen_set.add(4) AttributeError: 'frozenset' object has no attribute 'add'