获取 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)))