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