Python: 常見數據結構
此文件屬於學習 Python指南的一部分。請在此處查看完整指南:全面的 Python 指南。
👋 歡迎來到 Stackhero 文檔!
Stackhero 提供一個即用型的 Python 雲端 解決方案,帶來多項好處,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明且可預測的定價,讓您安心無憂。
- 得益於專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Python 雲端託管 解決方案!
Python 提供了多種數據結構來幫助您有效地組織、存儲和操作數據。最常用的是列表、元組、字典和集合。列表和元組維持元素的有序序列,字典存儲鍵值對,集合存儲唯一元素。每種結構都有一系列針對特定用例的方法。
- 列表:
my_list = [1, 2, 3, 4] - 元組:
my_tuple = (1, 2, 3, 4) - 字典:
my_dictionary = {'key1': 'value1', 'key2': 'value2'} - 集合:
my_set = {1, 2, 3, 4}
列表
列表是可變的、有序的元素集合。它們允許重複,並且可以包含各種數據類型的元素,包括其他列表、元組、字典或集合。您可以輕鬆添加、更新和刪除元素。列表用方括號 [] 定義,元素用逗號分隔。
關於列表的要點:
- 可變且有序
- 允許重複元素
- 保持元素添加的順序
- 支持多種數據類型
- 提供添加、更新和刪除元素的操作
當您需要動態且可調整大小的項目集合時,列表通常會被使用。
例子:
# 創建列表
my_list = [1, 2, 3, 4, 5]
# 訪問元素
print(my_list[0]) # 輸出:1
print(my_list[-1]) # 輸出:5
# 添加元素
my_list.append(6)
print(my_list) # 輸出:[1, 2, 3, 4, 5, 6]
# 更新元素
my_list[0] = 0
print(my_list) # 輸出:[0, 2, 3, 4, 5, 6]
# 刪除元素
del my_list[0]
print(my_list) # 輸出:[2, 3, 4, 5, 6]
字典
字典是可變的、無序的鍵值對集合。每個鍵必須是唯一的,您可以使用這些鍵來訪問其關聯的值。與列表一樣,字典可以存儲各種數據類型的元素,包括嵌套集合。它們用大括號 {} 定義,鍵值對用逗號分隔,鍵和值用冒號分隔。
關於字典的要點:
- 可變且無序的集合
- 由鍵值對組成,鍵唯一
- 使用鍵訪問值
- 存儲多種數據類型
字典非常適合需要查找的任務,例如配置設置或頻率計數。
例子:
# 創建字典
my_dictionary = {'a': 1, 'b': 2, 'c': 3}
# 訪問元素
print(my_dictionary['a']) # 輸出:1
# 添加元素
my_dictionary['d'] = 4
print(my_dictionary) # 輸出:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
# 更新元素
my_dictionary['a'] = 0
print(my_dictionary) # 輸出:{'a': 0, 'b': 2, 'c': 3, 'd': 4}
# 刪除元素
del my_dictionary['a']
print(my_dictionary) # 輸出:{'b': 2, 'c': 3, 'd': 4}
元組
元組是不可變的、有序的元素集合。它們的工作方式與列表類似,但一旦創建元組,其元素就不能更改、添加或刪除。元組用括號 () 定義,元素用逗號分隔。
關於元組的要點:
- 不可變且有序的集合
- 支持多種數據類型
- 固定大小的結構
當您需要不可更改的集合,或想將集合用作字典鍵時,元組很有用。
例子:
# 創建元組
my_tuple = (1, 2, 3, 4, 5)
# 訪問元素
print(my_tuple[0]) # 輸出:1
print(my_tuple[-1]) # 輸出:5
# 注意:元組是不可變的
集合
集合是可變的、無序的集合,存儲唯一元素。它們自動刪除重複項,並且不維持順序。集合可以包含多種數據類型的元素,但不包括可變類型,如列表和字典。它們可以用大括號 {} 或 set() 構造函數定義。
關於集合的要點:
- 可變且無序
- 僅存儲唯一元素,自動刪除重複項
- 排除可變類型(如列表和字典)
集合非常適合成員測試、去重和執行集合操作,如聯集、交集和差集。
# 創建集合
my_set = {1, 2, 3, 4, 5}
# 檢查成員資格
print(1 in my_set) # 輸出:True
# 添加元素
my_set.add(6)
print(my_set) # 輸出:{1, 2, 3, 4, 5, 6}
# 通過刪除一個元素並添加另一個元素來更新
my_set.remove(1)
my_set.add(0)
print(my_set) # 輸出:{0, 2, 3, 4, 5, 6}
# 刪除元素
my_set.remove(0)
print(my_set) # 輸出:{2, 3, 4, 5, 6}