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()方法,而只需检查
len()实现“
magic”
__len__()方法的所有内容即可。
当然,这似乎是多余的,但是长度检查的实现可能会有很大的不同,即使在同一语言中也是如此。经常会看到一种类型的集合使用一种
.length()方法,而另一种类型使用一种
.length属性,而另一种类型使用
.count()。使用语言级关键字可以统一所有这些类型的入口点。因此,即使您可能不认为是元素列表的对象仍然可以进行长度检查。这包括字符串,队列,树等。
的功能性质
len()也很适合编程的功能样式。
lengths = map(len, list_of_containers)



