arr .__ len __()是获取Python数组长度的首选方法吗?

Python中 ,如下是获取元素数量的惟一方法吗? python

arr.__len__()

若是是这样,为何奇怪的语法? 编程


#1楼

您能够使用前面答案中建议的len(arr)来获取数组的长度。 若是你想要2D数组的尺寸,你能够使用arr.shape返回高度和宽度 数组


#2楼

len(list_name)函数将list做为参数,它调用list的__len__()函数。 app


#3楼

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)

#4楼

只需使用len(arr): 队列

>>> import array
>>> arr = array.array('i')
>>> arr.append('2')
>>> arr.__len__()
1
>>> len(arr)
1

#5楼

获取任何python对象长度的首选方法是将其做为参数传递给len函数。 在内部,python将尝试调用传递的对象的特殊__len__方法。

相关文章
相关标签/搜索