Python 中列表、元組、集合和字典的區別及應用
高階解釋型程式語言 Python 帶有許多內建的資料結構,包括列表、元組、集合和字典。這些資料結構對於 Python 程式設計環境至關重要,因為它們提供了儲存和管理資料的有效方法。本文比較和對比了幾種資料結構,重點介紹了它們的優點、缺點和最佳使用場景,以幫助開發人員。
列表
列表是一種由方括號 [] 表示的有序資料結構。因為它是一種可變的資料結構,所以可以在新增後更改其任何元素。
可以使用 append()、remove() 和 insert() 等內建方法在列表中新增、刪除或修改元素。
列表的各個元素也可以透過切片和索引操作進行訪問和修改,因此在資料不斷變化且操作頻繁的情況下非常有用。
購物清單是列表的一個很好的應用示例,因為您可以根據需要新增、刪除或修改商品,並且可以用於儲存值的列表,例如姓名或數字列表。
示例
# Define a list of fruits
fruits = ['apple', 'banana', 'orange']
# Add a new fruit to the end of the list
fruits.append('kiwi')
# Print the contents of the list
print(fruits) # Output: ['apple', 'banana', 'orange', 'kiwi']
元組
元組是由圓括號 () 包含的專案的排序集合。因為它是一種不可變的資料結構,所以新增後無法更改其任何元素。
一旦建立,元組的元素將保持不變。但是,可以透過組合兩個或多個元組來建立新的元組。在 Python 中,通常將不需要經常更改的資料儲存在元組中。
例如,元組可以用來記錄圖表上一個點的座標。由於您可以從函式返回元組而不是為每個值建立單獨的變數,因此元組在從函式返回多個值時特別有用。
示例
# Define a tuple of names
names = ('Alice', 'Bob', 'Charlie')
# Print the third name in the tuple
print(names[2]) # Output: Charlie
集合
集合是一組獨特的、無序的元素,包含在大括號 {} 中。它是一種可變的資料結構,因此在建立集合後,可以向其中新增或刪除元素。您還可以對集合執行聯合、交集和差集等集合運算。
集合通常在 Python 中用於執行數學運算(如查詢集合的交集或並集)以及消除重複項。
示例
# Define a set of unique numbers
numbers = {1, 2, 3, 4, 4, 4}
# Print the contents of the set
print(numbers) # Output: {1, 2, 3, 4}
字典
字典是鍵值對的集合,包含在大括號 {} 中。它是一種可變的資料結構,這意味著在建立後可以向字典中新增、刪除或修改元素。可以使用索引操作訪問鍵的值。
字典通常在 Python 中用於以結構化格式儲存資料。例如,可以使用字典來儲存學生的資訊,例如姓名、年齡和成績。字典也可用於在程式中儲存配置設定。
示例
# Define a dictionary of ages
ages = {'Hancock': 25, 'Julie': 30, 'Jamie': 35}
# Print the age of Hancock
print(ages['Hancock']) # Output: 25
比較表
列表 |
元組 |
集合 |
字典 |
|
|---|---|---|---|---|
語法 |
[ ] |
( ) |
{ } |
{ } |
可變/不可變 |
可變 |
不可變 |
可變 |
可變 |
順序 |
有序 |
有序 |
無序 |
無序 |
重複 |
允許 |
允許 |
不允許 |
不允許 |
索引 |
允許 |
允許 |
不允許 |
允許 |
切片 |
允許 |
允許 |
不允許 |
不允許 |
常用操作 |
append()、insert()、remove()、pop()、extend() |
連線、解包、索引、切片 |
add()、remove()、union()、intersection()、difference() |
keys()、values()、items()、get() |
應用 |
儲存可變的專案序列 |
儲存不可變的專案序列,從函式返回多個值 |
執行集合運算,從列表中刪除重複項 |
儲存鍵值對,提供對資料的結構化訪問 |
限制 |
處理大型列表時速度較慢,與元組相比佔用更多記憶體 |
建立後無法新增、刪除或修改元素 |
不保留順序,無法儲存重複項 |
鍵必須是唯一的且不可變的,值可以是可變的或不可變的 |
結論
為了有效地儲存和操作資料,Python 提供了許多內建的資料結構。列表、元組、集合和字典的獨特特性使它們適合不同的使用場景。通過了解各種資料結構的不同變體和應用,開發人員可以選擇最適合其特定需求的資料結構。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP