獲取 Python 陣列的長度

Neema Muganga 2021年12月2日
獲取 Python 陣列的長度

如何檢查物件的長度因一種程式語言而異。雖然一些程式設計師可能會選擇使用 count() 方法,其他人可能會選擇 .length() 方法或使用 .length 屬性來查詢長度。

或者,Python 提供了 len() 函式和 __len__() 方法來查詢長度。我們將看看這兩者如何相互關聯,以及如何使用此函式和方法找到物件的長度。

使用 len() 函式獲取 Python 陣列的長度

len() 是一個 Python 內建函式,它在元組、佇列、陣列、列表和字串等物件上呼叫,以在這些物件中查詢單詞或字元的總數。

另一方面,__len__() 是一種標準化的魔法方法(dunder 方法,方法名前有兩個下劃線,方法名後有兩個下劃線),用於返回長度。

如果要查詢物件的長度,請通過將物件作為引數傳遞給 len() 來呼叫 len() 函式。隱式地,Python 對傳遞的物件呼叫 __len__() 方法來查詢其長度。換句話說,python 在內部將 len(object) 翻譯成 object.__len__()

因此,不是直接在物件上呼叫 __len__(),而是在 Python 中首選在物件上呼叫 len() 函式。這是因為 Python 中程式碼的一致性。

當你呼叫 len() 函式時,你可以確保在呼叫執行期間不會引發異常,因此程式會在呼叫後繼續執行。當使用 __len__() 方法時,情況正好相反。不確定在執行函式呼叫時程式是否會丟擲異常。這種確定性就是我們在 Python 中所說的健全性檢查

我們也同意在物件上呼叫 len() 比直接使用 __len__() 更具可讀性。

在這種情況下,要查詢陣列的長度,將按如下方式實現:

fruits = ['mango', 'kiwi', 'grape', 'melon']
arr_length = len(fruits)
print(arr_length)

上面的例子定義了一個水果陣列。要找到水果陣列的總長度,請定義一個變數,將陣列傳遞給 len() 函式。列印變數以查詢長度。

輸出:

4

該陣列共返回四個水果。

len() 還具有函式性質,允許它以不同的函式風格實現,如下所示;

length = map(len, list_of_objects)

例子:

a_list = [[1],[3, 5, 7], [2, 4, 6, 8, 10]]
print(map(len, a_list)))

相關文章 - Python Array