在Python中 ,如下是获取元素数量的惟一方法吗? python
arr.__len__()
若是是这样,为何奇怪的语法? 编程
您能够使用前面答案中建议的len(arr)
来获取数组的长度。 若是你想要2D数组的尺寸,你能够使用arr.shape
返回高度和宽度 数组
len(list_name)
函数将list做为参数,它调用list的__len__()
函数。 app
my_list = [1,2,3,4,5] len(my_list) # 5
对于元组也是如此: 函数式编程
my_tuple = (1,2,3,4,5) len(my_tuple) # 5
和字符串,它们实际上只是字符数组: 函数
my_string = 'hello world' len(my_string) # 11
它是故意以这种方式完成的,所以列表,元组和其余容器类型并不都须要显式实现公共.length()
方法,而是只需检查实现'magic' __len__()
的任何东西的len()
__len__()
方法。 spa
固然,这彷佛是多余的,但长度检查实现可能会有很大差别,即便在同一种语言中也是如此。 这不是常常看到一个集合类型使用.length()
方法,而另外一种类型的使用.length
属性,而另外一个使用.count()
使用语言级关键字统一全部这些类型的入口点。 所以,即便是您可能不认为是元素列表的对象仍然能够进行长度检查。 这包括字符串,队列,树木等。 code
len()
的功能特性也很适合函数式编程。 对象
lengths = map(len, list_of_containers)
只需使用len(arr): 队列
>>> import array >>> arr = array.array('i') >>> arr.append('2') >>> arr.__len__() 1 >>> len(arr) 1
获取任何python对象长度的首选方法是将其做为参数传递给len
函数。 在内部,python将尝试调用传递的对象的特殊__len__
方法。