如何在 Python 中找到列表的長度
了解如何使用 len() 函數在 Python 中尋找清單的長度。了解 O(1) 時間複雜度和檢查計數。
概述
在驗證使用者輸入、將資料分割成更小的區塊、分頁 API 查詢或編寫循環迭代時,了解集合中元素的數量至關重要。在 Python 中,您可以使用簡單的內建「len()」函數來尋找任何集合的大小或長度。
在底層,Python 的列表結構是作為可變長度數組實現的。它包含一個內部計數器,用於追蹤其保存的元素數量。當你呼叫 len(my_list) 時,Python 不會遍歷列表來計算元素數量;它只是讀取這個內部計數器。這意味著「len()」的時間複雜度始終為 O(1)(恆定時間),無論清單大小如何,它都非常快。
`len()` 函數是通用的,適用於任何實作 `__len__` 魔術方法的可迭代物件。這意味著您可以使用完全相同的語法來尋找元組、字串、字典、集合和自訂類別實例的長度,從而在整個程式碼庫中保持乾淨的一致性。
程式碼和執行輸出
此腳本示範了使用 len() 函數來尋找清單、字串和字典的長度。
list_length.py
在編輯器中嘗試empty = []
numbers = [10, 20, 30, 40, 50]
words = ["python", "code", "run"]
# 1. Finding lengths of lists
print("Empty list length:", len(empty))
print("Numbers list length:", len(numbers))
# 2. Finding length of a string
text = "Hello, World!"
print("String length:", len(text))
# 3. Finding length of a dictionary
details = {"id": 1, "name": "Alice"}
print("Dictionary length:", len(details))端子輸出
Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2逐步實施
- 呼叫 len() 函數並將列表變數作為其單一參數傳遞。
- 將傳回的整數儲存在變數中或直接列印/計算它。
- 在條件或數學計算(如索引)中使用結果。
常見問題解答
為什麼 Python 中的 len() 這麼快?
因為 Python 的內建集合在內部儲存其項目計數。呼叫 len() 只是讀取結構體字段而不執行任何迭代。
如果我在自訂類別物件上呼叫 len() 會發生什麼?
除非您在自訂類別定義中定義 __len__(self) 魔術方法,否則它將引發 TypeError。
相關主題
推薦的 Python 資源
透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。