在生活中置物櫃上有編號可以存放各種東西,在Python中也有類似的容器,就是list,list就像置物櫃一樣,有編號(索引)想放什麼就放什麽。
列表(List)和元組(Tuple)都是 Python 中用來存儲集合元素的數據結構,兩者看起來很像,在初學時很容易搞混,所以觀念要建立好。可以把列表(List)和元組(Tuple)想像成是一個容器,什麼元素都可以塞
容器

儲存不同元素範例
宣告方式
列表(List): 使用方括號 []
來定義列表。
my_list = [1, 2, 3]
元組(Tuple): 使用圓括號 ()
來定義元組。
my_tuple = (1, 2, 3)
差異性
但它們之間有一些重要的區別。以下是列表和元組之間的主要差異:
1. 可變性(Mutability):
- 列表(List): 列表是可變的(mutable),這意味著你可以在創建後修改列表,添加或刪除元素,或者更改現有元素的值。
pythonCopy codemy_list = [1, 2, 3]
my_list[0] = 10 # 可以修改元素的值
my_list.append(4) # 可以添加元素
- 元組(Tuple): 元組是不可變的(immutable),一旦創建後,你就不能修改它的內容。元組通常用於保存不希望被更改的數據。
pythonCopy codemy_tuple = (1, 2, 3)
# 下面的操作會引發錯誤,因為元組是不可變的
# my_tuple[0] = 10
2. 資源效能:
- 列表(List): 由於可變性,列表的操作可能會更耗資源,特別是當列表很大時。每次修改列表時,需要重新分配內存。
- 元組(Tuple): 不可變性使得元組在某些情況下比列表更加輕量。對於不需要修改的數據,元組更加高效。
是可以互相轉換的
- 從列表轉換為元組:
tuple_from_list = tuple(my_list)
- 從元組轉換為列表:
list_from_tuple = list(my_tuple)
其他同樣用法
存取元素:
- 通過索引存取元素:
print(my_list[2]) # Output: 3
print(my_tuple[2]) # Output: 3
切片:
- 使用切片獲取部分序列:
subset_list = my_list[1:4]
subset_tuple = my_tuple[1:4]
遍歷元素:
- 使用迴圈遍歷:
for element in my_list:
print(element)
for element in my_tuple:
print(element)
5. 內建函數:
- 檢查元素是否存在:
print(3 in my_list) # Output: True
print(3 in my_tuple) # Output: True - 取得序列的長度:
length_list = len(my_list)
length_tuple = len(my_tuple)
程式範例
my_list = [10, 0.3,True, None, -10]
my_tuple = (10, 0.3,True, None, -50)
print('串列: ',my_list )
print('元組: ',my_tuple)
#存取元素
#通過索引存取元素:
print('my_list 第一個索引:', my_list[1]) # Output: 0.3
print('my_tuple 第一個索引:',my_tuple[1]) # Output: 0.3
#切片
subset_list = my_list[1:4]
print('切片',subset_list)
# for迴圈 遍歷取出
for element in my_list:
print('for迴圈取出',element)
# in檢查0.3是否在 列表內
print('檢查0.3是否在 列表內 : ' ,0.3 in my_list)
#len 查看列表長度
print('my_list列表長度: ',len(my_list))

程式輸出圖
在 Python 中,大多數的索引是從 0 開始,這包括列表、元組、字串等。
在程式設計中,「索引」通常指的是一個用來標識或定位資料元素的位子。
索引也可以從後面取出,從 -1開始

索引介紹
使用場景:
- 列表(List): 適用於需要頻繁修改、排序或添加/刪除元素的情況。
- 元組(Tuple): 適用於不希望被更改的數據集,通常用於函數的返回值、作為字典的鍵等。