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()
。使用语言级关键字可以统一所有这些类型的入口点。因此,即使您可能不认为是元素列表的对象仍然可以进行长度检查。这包括字符串,队列,树等。
lengths = map(len, list_of_containers)