
- 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 – Socket 程式設計
- 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 – GUIs
- Python 高階概念
- Python – 抽象基類
- Python – 自定義異常
- Python – 高階函式
- Python – 物件內部
- Python – 記憶體管理
- Python – 元類
- Python – 使用元類進行超程式設計
- Python – 模擬和存根
- Python – Monkey Patching
- 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 中複製字典是指建立一個新的字典,其中包含與原始字典相同的鍵值對。
我們可以使用多種方法複製字典,具體取決於需求和字典值的性質(它們是可變的還是不可變的,是巢狀的還是非巢狀的)。
淺複製
執行淺複製時,會建立一個新的字典物件,但它包含對原始字典引用的相同物件的引用。
當您想要複製字典的結構而不復制其包含的巢狀物件時,這很有用。
這可以使用 copy() 方法或 dict() 函式完成,如下所示:
示例:使用 copy() 方法
在下面的示例中,我們可以看到更改淺複製中的“age”不會影響原始字典。
但是,修改淺複製中的列表也會影響原始字典,因為列表是可變物件,並且只複製了引用。
original_dict = {"name": "Alice", "age": 25, "skills": ["Python", "Data Science"]} shallow_copy = original_dict.copy() # Modifying the shallow copy shallow_copy["age"] = 26 shallow_copy["skills"].append("Machine Learning") print("Original dictionary:", original_dict) print("Shallow copy:", shallow_copy)
以上程式碼的輸出如下:
Original dictionary: {'name': 'Alice', 'age': 25, 'skills': ['Python', 'Data Science', 'Machine Learning']} Shallow copy: {'name': 'Alice', 'age': 26, 'skills': ['Python', 'Data Science', 'Machine Learning']}
示例:使用 dict() 方法
與 copy() 方法類似,dict() 方法 建立一個淺複製,如下例所示:
original_dict = {"name": "Bob", "age": 30, "skills": ["Java", "C++"]} shallow_copy = dict(original_dict) # Modifying the shallow copy shallow_copy["age"] = 31 shallow_copy["skills"].append("C#") print("Original dictionary:", original_dict) print("Shallow copy:", shallow_copy)
以上程式碼的輸出如下:
Original dictionary: {'name': 'Bob', 'age': 30, 'skills': ['Java', 'C++', 'C#']} Shallow copy: {'name': 'Bob', 'age': 31, 'skills': ['Java', 'C++', 'C#']}
深複製
深複製建立一個新的字典,並遞迴地複製原始字典中找到的所有物件。這意味著不僅字典本身,而且它包含的所有物件(包括巢狀字典、列表等)都會被複制。結果,對深複製所做的更改不會影響原始字典,反之亦然。
我們可以使用 copy 模組中的 deepcopy() 函式實現這一點。
示例
在下面的示例中,我們可以看到深複製中的“age”值已更改,“skills”列表在深複製中已修改(添加了一個專案),並且深複製中的“education”字典已修改,所有這些都不會影響原始字典:
import copy original_dict = { "name": "Alice", "age": 25, "skills": ["Python", "Data Science"], "education": { "degree": "Bachelor's", "field": "Computer Science" } } # Creating a deep copy deep_copy = copy.deepcopy(original_dict) # Modifying the deep copy deep_copy["age"] = 26 deep_copy["skills"].append("Machine Learning") deep_copy["education"]["degree"] = "Master's" # Retrieving both dictionaries print("Original dictionary:", original_dict) print("Deep copy:", deep_copy)
這將產生以下輸出:
Original dictionary: {'name': 'Alice', 'age': 25, 'skills': ['Python', 'Data Science'], 'education': {'degree': "Bachelor's", 'field': 'Computer Science'}} Deep copy: {'name': 'Alice', 'age': 26, 'skills': ['Python', 'Data Science', 'Machine Learning'], 'education': {'degree': "Master's", 'field': 'Computer Science'}}
使用 copy() 方法複製字典
不能直接使用賦值運算子 (=) 複製字典,可以使用copy() 方法建立字典的淺複製。
語法
以下是 Python 中 copy() 方法的基本語法:
new_dict = original_dict.copy()
其中,original_dict 是您要複製的字典。
示例
以下示例演示了使用 copy() 方法建立字典的淺複製:
# Creating a dictionary dict1 = {"name": "Krishna", "age": "27", "doy": 1992} # Copying the dictionary dict2 = dict1.copy() # Printing both of the dictionaries print("dict1 :", dict1) print("dict2 :", dict2)
輸出
我們將得到如下所示的輸出:
dict1 : {'name': 'Krishna', 'age': '27', 'doy': 1992} dict2 : {'name': 'Krishna', 'age': '27', 'doy': 1992}
廣告