[Python基礎]容器 list(列表),tuple(元組)

[Python基礎]容器 list(列表),tuple(元組)

更新於 發佈於 閱讀時間約 5 分鐘

在生活中置物櫃上有編號可以存放各種東西,在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): 適用於不希望被更改的數據集,通常用於函數的返回值、作為字典的鍵等。


謝謝大家觀看~ 希望大家會喜歡,喜歡的話可以給愛心~追蹤一下,不會漏掉之後的文章喔~


avatar-img
螃蟹_crab的沙龍
137會員
242內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言
avatar-img
留言分享你的想法!
螃蟹_crab的沙龍 的其他內容
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
在Python中,有三種變數作用域:全域、區域和封閉。 區域作用域(Local Scope): 在函式內部定義的變數具有區域作用域,它們只能在該函式內部訪問。 例如: def my_function(): local_variable = 10
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
在Python中,有三種變數作用域:全域、區域和封閉。 區域作用域(Local Scope): 在函式內部定義的變數具有區域作用域,它們只能在該函式內部訪問。 例如: def my_function(): local_variable = 10