1. 前言
Python 是一種簡潔但功能強大的程式語言,廣泛應用於各種情境中。特別是「列表(List)」作為 Python 中基本的資料結構之一,經常用來管理資料集合。
在 Python 中,取得列表的元素數量是非常常見的操作。例如:當你想確認資料的筆數,或根據條件進行處理時,就需要知道「列表的長度」。
本文將深入介紹與 「Python 列表 元素數量」 相關的各種方法。無論你是初學者還是中階使用者,都可以從基本操作到進階技巧中學習實用知識。讀完這篇文章後,你將掌握以下幾點:
- 使用 len() 函式取得列表元素數的基本方法
- 根據特定條件或元素進行計數的方法
- 處理多維列表時取得元素數的方式
讓我們一起學習如何在 Python 程式中有效率地取得列表的元素數,並將其應用於實際的開發與資料處理中吧!

2. 取得列表元素數的基本方法
在 Python 中,取得列表元素數最常見的方法就是使用 len()
函式。len()
是 Python 內建的函式,可以用來取得列表、字串、元組等各種資料型別的「長度」或「元素數」。
len()
函式的使用方式
len()
函式非常簡單易用,語法如下:
len(列表名稱)
使用此函式時,會回傳列表中所包含元素的數量(整數形式)。
len()
函式的實際範例
請參考以下範例,示範如何使用 len()
函式來取得列表的元素數。
# 定義一個列表
my_list = [1, 2, 3, 4, 5]
# 取得元素數
num_elements = len(my_list)
# 顯示結果
print("列表的元素數:", num_elements)
輸出結果:
列表的元素數: 5
這個例子中,my_list
有 5 個元素,因此 len(my_list)
會回傳數值 5。
當列表為空時的處理
若對空的列表使用 len()
,會回傳「0」。
# 定義空列表
empty_list = []
# 取得元素數
print("空列表的元素數:", len(empty_list))
輸出結果:
空列表的元素數: 0
len() 可應用於其他資料型別
len()
不僅能用在列表,也可以用在字串、元組、字典等其他資料型別上來取得長度或元素數。
# 字串的長度
text = "Python"
print("字串長度:", len(text))
# 元組的元素數
my_tuple = (1, 2, 3)
print("元組的元素數:", len(my_tuple))
# 字典的鍵值對數量
my_dict = {"a": 1, "b": 2, "c": 3}
print("字典的元素數:", len(my_dict))
輸出結果:
字串長度: 6
元組的元素數: 3
字典的元素數: 3
注意事項
len()
函式預設接受具有「長度」屬性的物件。若對None
或沒有長度的物件使用,將會出現錯誤。
# 對 None 使用 len() 會產生錯誤
my_list = None
print(len(my_list)) # TypeError: object of type 'NoneType' has no len()
因此建議使用 if
判斷式或 is not None
檢查後再使用 len()
。
小結
len()
函式是 Python 中最基本、效率也很高的取得元素數的方法。不只語法簡單,還可以廣泛應用於多種資料型別,非常實用。

3. 計算特定元素出現次數的方法
在 Python 中,可以很簡單地計算某個特定元素在列表中出現了幾次。這時可以使用列表物件的 count()
方法。
count()
方法的用法
count()
方法會回傳指定元素在列表中出現的次數。語法如下:
列表名稱.count(元素)
如果指定的元素不在列表中,count()
會回傳 0,而不會報錯。
count()
方法的實例
以下範例會計算特定元素在列表中出現的次數:
# 定義列表
my_list = [1, 2, 3, 2, 4, 2, 5]
# 計算元素 2 出現的次數
count_2 = my_list.count(2)
# 顯示結果
print("元素 '2' 的出現次數:", count_2)
輸出結果:
元素 '2' 的出現次數: 3
這個例子中,數字 2 在列表中出現了三次,因此 my_list.count(2)
的結果是 3。
當元素不存在於列表中時
如果要查找的元素不存在於列表中,count()
會回傳 0,而不會產生錯誤。
# 定義列表
my_list = [1, 2, 3, 4, 5]
# 查找不存在的元素(6)
count_6 = my_list.count(6)
# 顯示結果
print("元素 '6' 的出現次數:", count_6)
輸出結果:
元素 '6' 的出現次數: 0
同時計算多個不同元素
若想同時計算多個不同元素的出現次數,可以使用迴圈或列表推導式來實現:
# 定義列表
my_list = [1, 2, 3, 2, 4, 2, 5]
# 要計算的元素
elements = [1, 2, 3]
# 建立計數結果的字典
counts = {element: my_list.count(element) for element in elements}
# 顯示結果
for element, count in counts.items():
print(f"元素 '{element}' 的出現次數: {count}")
輸出結果:
元素 '1' 的出現次數: 1
元素 '2' 的出現次數: 3
元素 '3' 的出現次數: 1
透過這種方式,能夠一次取得多個元素的出現次數,並以字典形式管理。
注意事項
count()
方法會遍歷整個列表來統計指定元素,因此如果列表非常大,可能會影響執行效率。如果你需要頻繁執行計數操作,建議使用collections.Counter
等更高效的方式。

4. 根據條件計算元素數的方法
在 Python 中,可以針對列表中的元素 設定條件,只計算符合條件的元素數量。這對於資料篩選與分析非常實用。
常見的方法有:使用 列表推導式(List Comprehension) 或 filter()
函式。
使用列表推導式的條件式計數
透過列表推導式搭配 len()
,可以簡潔地計算符合特定條件的元素數。
語法範例:
len([元素 for 元素 in 列表 if 條件])
範例:計算數值大於等於 10 的元素數
以下範例會計算列表中大於等於 10 的元素數量:
# 定義列表
my_list = [5, 12, 7, 18, 3, 15]
# 計算符合條件的元素(大於等於 10)
count = len([x for x in my_list if x >= 10])
# 顯示結果
print("大於等於 10 的元素數:", count)
輸出結果:
大於等於 10 的元素數: 3
此例中,12、18、15 共三個數字符合條件,因此回傳 3。
使用 filter()
函式的條件式計數
filter()
函式可用來篩選符合條件的元素,並可結合 len()
計算數量。
語法:
len(list(filter(條件函式, 列表)))
範例:計算偶數的數量
以下例子會計算列表中偶數的個數:
# 定義列表
my_list = [1, 2, 3, 4, 5, 6]
# 過濾出偶數並計算數量
count = len(list(filter(lambda x: x % 2 == 0, my_list)))
# 顯示結果
print("偶數的元素數:", count)
輸出結果:
偶數的元素數: 3
當條件較複雜時
若條件較為複雜,可以在列表推導式或 filter()
中使用 and、or 等邏輯運算子。
範例:計算數值大於等於 5 且為偶數的數量
# 定義列表
my_list = [1, 2, 3, 4, 6, 8, 10, 11]
# 計算符合條件的元素數
count = len([x for x in my_list if x >= 5 and x % 2 == 0])
# 顯示結果
print("大於等於 5 且為偶數的元素數:", count)
輸出結果:
大於等於 5 且為偶數的元素數: 4
注意事項
- 當列表資料量很大時,進行條件判斷的處理可能會比較耗時。
filter()
函式 使用的是 lazy 評估(產生器),在記憶體效率上會優於建立完整的新列表。

5. 取得多維列表元素數的方法
多維列表(也叫巢狀列表)是指列表中還包含其他列表的資料結構。在 Python 中,使用 len()
函式可以取得最外層(第一層)的元素數量;但若要計算 所有內層的元素數,則需要額外的處理。
本節將介紹針對多維列表取得元素數的基本與進階方法。
使用 len()
函式取得外層元素數
對多維列表使用 len()
,會回傳最外層的子列表數量。
範例:
# 定義多維列表
multi_list = [[1, 2], [3, 4, 5], [6]]
# 取得外層列表的元素數
print("外層的元素數:", len(multi_list))
輸出結果:
外層的元素數: 3
此結果表示 multi_list
中有三個子列表。
個別取得每個子列表的元素數
若要取得每個子列表的元素數,可以使用 for
迴圈或列表推導式。
範例:
# 定義多維列表
multi_list = [[1, 2], [3, 4, 5], [6]]
# 逐一取得子列表的元素數
for i, sub_list in enumerate(multi_list):
print(f"子列表 {i+1} 的元素數:", len(sub_list))
輸出結果:
子列表 1 的元素數: 2
子列表 2 的元素數: 3
子列表 3 的元素數: 1
這樣可以個別取得每層子列表的長度。
計算所有內層元素總數
若要計算多維列表中 所有元素的總數,可以使用列表推導式或迴圈搭配 sum()
。
範例:
# 定義多維列表
multi_list = [[1, 2], [3, 4, 5], [6]]
# 計算總元素數
total_count = sum(len(sub_list) for sub_list in multi_list)
# 顯示結果
print("內層所有元素數:", total_count)
輸出結果:
內層所有元素數: 6
len(sub_list)
: 取得每個子列表的長度sum()
: 將所有子列表長度加總
使用遞迴函式取得「完整元素總數」
當多維列表的階層非常深時,可使用遞迴函式來取得所有層級中的元素數。
範例:
# 定義遞迴計數函式
def count_elements(nested_list):
total = 0
for element in nested_list:
if isinstance(element, list): # 如果是列表就遞迴處理
total += count_elements(element)
else:
total += 1
return total
# 定義巢狀列表
multi_list = [[1, 2], [3, [4, 5], 6], 7]
# 計算所有元素總數
result = count_elements(multi_list)
# 顯示結果
print("完整元素數:", result)
輸出結果:
完整元素數: 7
這段程式碼透過 count_elements()
函式遞迴處理巢狀結構,計算所有元素的總和。
注意事項
- 處理大型多維列表時,若使用遞迴,可能因呼叫次數過多影響效能。
- 請事先確認資料結構正確,避免造成 無限遞迴 問題。

6. 與列表元素數相關的注意事項與最佳實踐
取得列表元素數雖然是 Python 中的基本操作,但若能理解相關的注意事項與最佳實踐,就能避免錯誤並提升效能。
處理空列表或 None
的情況
當列表為 空 或變數是 None
時,若直接使用 len()
可能會發生錯誤。
範例:對 None
使用 len()
my_list = None
# 直接使用 len() 會產生錯誤
print(len(my_list)) # TypeError: object of type 'NoneType' has no len()
解法:先進行判斷
建議先使用 if
或 is not None
做檢查。
my_list = None
# 檢查是否為 None
if my_list is not None:
print("元素數:", len(my_list))
else:
print("列表為 None")
輸出結果:
列表為 None
處理大型列表時的效率
len()
函式非常快速,但若資料量極大,仍需注意效能。以下是一些建議:
- 避免重複呼叫
len()
對於大型列表,重複使用len()
不如先儲存結果再使用更有效率。
範例:
my_list = [i for i in range(1000000)] # 含百萬筆資料的列表
# 只呼叫 len() 一次
length = len(my_list)
print("列表的元素數:", length)
條件式計數時的效能
使用 filter()
或列表推導式可以方便進行條件式計數,但也要考慮記憶體效率。
- 列表推導式:會建立新的暫時列表,消耗記憶體
- 產生器表達式(Generator Expression):不建立中間列表,較省記憶體
範例:使用產生器計算條件符合的數量
my_list = [i for i in range(1000000)]
# 使用產生器進行條件計數
count = sum(1 for x in my_list if x % 2 == 0)
print("偶數的數量:", count)
說明:
- 產生器語法(
(x for ... if ...)
)不會建立中間資料結構,能有效節省記憶體。
遞迴的限制
若使用遞迴函式來處理深層多維列表,可能會觸發 最大遞迴深度 的限制。
範例:查看系統遞迴深度限制
import sys
# 檢查遞迴深度限制
print("最大遞迴深度:", sys.getrecursionlimit())
對策:
- 可以手動調整深度限制,但需小心避免無限遞迴
- 也可以改用 迴圈(stack) 的方式處理資料
維持良好的可讀性
Python 以「可讀性高」為設計理念。即使使用 len()
或列表推導式,也要保持程式簡潔易讀。
好範例:
# 計算正數的數量
count = len([x for x in my_list if x > 0])
不建議的寫法:
# 雖然正確但難以閱讀
count = sum(map(lambda x: 1 if x > 0 else 0, my_list))

7. 總結
本文詳盡介紹了與 「Python 列表 元素數」 相關的各種方法。取得列表的元素數是一項基本但實用的技巧,在實際的程式開發與資料處理中經常被使用。
文章回顧
- 基本的列表元素數取得方法
- 透過
len()
函式,可以輕鬆取得列表的元素數。
- 計算特定元素出現次數的方法
- 使用
count()
方法,可以查出某個元素在列表中出現的次數。
- 條件式計數的方法
- 使用列表推導式或
filter()
函式,可以根據條件計算符合的元素數。
- 取得多維列表元素數的方法
- 可以使用
len()
函式 取得外層數量,再加總內層,或使用遞迴取得全部元素的總數。
- 與列表元素數相關的注意事項與最佳實踐
- 處理空列表或
None
的對策 - 大型資料時的效率考量
- 遞迴限制與使用堆疊的替代方案
- 使用產生器提升記憶體效率
操作列表元素數的重要性
正確地處理列表的元素數,不僅能提升 Python 程式的 正確性,還能大幅改善 執行效率。
- 在 資料處理 或 數值分析 中,常需依據列表長度進行統計與邏輯判斷。
- 處理多維資料時,依據巢狀結構選擇適合的方式來計數,可以有效應對複雜情境。
最後補充
Python 提供了簡潔又強大的工具,像是 len()
函式、count()
方法、以及列表推導式,這些都能靈活地應用於列表的元素數操作中。善加活用本文介紹的方法,能幫助你在日常開發或數據分析中提高效率與可讀性。
延伸學習建議
- 想進一步學習列表操作的初學者:建議繼續學習其他列表方法,如
append()
、extend()
等。 - 對資料分析有興趣的讀者:可以進一步學習使用
numpy
或pandas
套件進行更高階的列表操作與資料處理。