攝影或3C

Python容器(list, tuple, set, dict)的CRUD(Create, Read, Update, Delete)

list 的CRUD:

code:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 26 00:23:55 2024

@author: SavingKing
"""

# Create
my_list = [1, 2, 3]  # 創建列表

# Append (Addition to Create)
my_list.append(4)  # 添加元素到列表末尾
print("my_list:",my_list)     # 輸出: [1, 2, 3, 4]

# Retrieve
print("my_list[0]:",my_list[0])  # 輸出第一個元素: 1

# Update
my_list[0] = 100  # 更新第一個元素
print("After update,my_list:",my_list)     # 輸出: [100, 2, 3, 4]

# Delete with del
del my_list[0]  # 刪除第一個元素
print("After del,my_list:",my_list)  # 輸出: [2, 3, 4]

# Remove (Delete)
my_list.remove(3)  # 刪除第一個出現的指定元素3
print("After remove,my_list:",my_list)     # 輸出: [2, 4]

# Pop (Delete)
popped_element = my_list.pop()  # 默認刪除並返回最後一個元素
print("popped_element:",popped_element)  # 輸出被刪除的元素: 4
print("After .pop(0),my_list:",my_list)         # 輸出: [2]

popped_element = my_list.pop(0)  # 刪除並返回指定索引處的元素
print("popped_element:",popped_element)  # 輸出被刪除的元素: 2
print("After .pop(0),my_list:",my_list)         # 輸出: []

輸出結果:


tuple的CRUD:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 26 00:23:55 2024

@author: SavingKing
"""

# 創建元
my_tuple = (1, 2, 3)
print("Original tuple:", my_tuple)

# 創建空元組
empty_tuple = ()
print("Empty tuple:", empty_tuple)

# 單元素元組注意逗號
single_element_tuple = (4,)
print("Single-element tuple:", single_element_tuple)

# 通過索引訪問元素
print("First element:", my_tuple[0])

# 由於元組是不可變的我們不能直接修改它們
# 但可以通過組合現有元組創建一個新的元組
new_tuple = my_tuple + (4, 5)
print("Updated tuple by adding elements:", new_tuple)

# 直接刪除元組的元素是不可能的但可以刪除整個元組
del my_tuple
# 嘗試訪問被刪除的元組將引發錯誤
# print(my_tuple)  # 這將引發一個NameError因為my_tuple已經不再存在

輸出結果:


set的CRUD:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 26 00:23:55 2024

@author: SavingKing
"""

# 創建一個空集
empty_set = set() #{} 為空dict 
print("Empty Set:", empty_set)

# 創建一個含有多個元素的集合
my_set = {1, 2, 3, 4, 5}
print("Initial Set:", my_set)

# 檢查元素是否在集合中
print("3 in my_set?",3 in my_set)  # 輸出 True
print("6 in my_set?",6 in my_set)  # 輸出 False

# 添加元素
my_set.add(6)
print("Set after adding an element:", my_set)

# 添加多個元素
my_set.update({7, 8, 9})
print("Set after adding multiple elements:", my_set)

# 刪除指定元素如果元素不存在則不執行任何操作
my_set.discard(10)
print("Set after discarding an element not present:", my_set)

# 刪除指定元素如果元素不存在將引發 KeyError
my_set.remove(9)
print("Set after removing an element:", my_set)

# 清空集合中的所有元素
my_set.clear()
print("Set after clearing all elements:", my_set)

輸出結果:


dict的CRUD:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 26 00:23:55 2024

@author: SavingKing
"""

# 創建一個空字
my_dict = {} #dict()亦可

# 創建一個帶有初始值的字典
my_dict = {"name": "Alice", "age": 25}

# 通過鍵訪問值
print("通過鍵訪問值:",my_dict["name"])  # 輸出: Alice

# 使用 get() 避免 KeyError
print("使用.get():",my_dict.get("location", "未找到"))  
# 輸出: 未找到

# 更新現有鍵的值
my_dict["age"] = 26

# 添加新的鍵值對
my_dict["location"] = "紐約"
print("添加新的鍵值對:",my_dict)

#del 用途: 删除特定的键值对
del my_dict["location"]
# 输出: {'name': 'Alice', 'age': 26}
print("After del, my_dict:",my_dict)

#.pop()用途: 刪除鍵並返回其值
pop_age = my_dict.pop("age")
print("pop_age:",pop_age)
# pop_age 输出: 26
# my_dict 输出: {'name': 'Alice'}
print("After .pop(),my_dict:",my_dict)

#.clear()用途: 清空整個字典
my_dict.clear()
# 输出: {}
print("After .clear(),my_dict:",my_dict)

輸出結果:

列表、字典和集合都支持.clear()方法,而元組不支持,因為它是不可變的。

.discard() 方法是專門用於集合(set)的方法,用於移除集合中的一個指定元素,如果該元素不存在於集合中,則不進行任何操作,也不會拋出錯誤。這與.remove()方法不同,後者在嘗試移除不存在的元素時會引發一個KeyError。
.discard() 方法僅支持集合類型,而其他常見的容器類型如列表、元組和字典都不支持這個方法。

.remove()方法被列表和集合支持,用於刪除元素。元組由於其不可變性不支持該方法,而字典也不支持.remove()但提供其他方法進行元素的刪除。

.pop()方法被列表、字典和集合支持,但在不同的容器中有不同的行為。元組由於其不可變性不支持該方法。對於列表,可以指定索引來移除元素;對於字典,需要指定鍵來移除鍵值對;而對於集合,.pop()則是隨機移除一個元素。

推薦hahow線上學習python: https://igrape.net/30afN

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

Recent Posts