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__方法。

相關文章
相關標籤/搜索