len函数:计算序列长度的神器
len函数是Python内置函数之一,用于计算序列的长度。序列可以是字符串、列表、元组、字典、集合等,而计算的结果是序列元素的个数,也就是长度。
一、len函数的基本用法
len函数的语法很简单,只有一个参数,格式如下:
len(序列)
其中,序列可以是任意类型的序列,比如:
s = 'hello world'
lst = [1, 2, 3, 4, 5]
tpl = (1, 2, 3, 4, 5)
d = {'a': 1, 'b': 2, 'c': 3}
st = {1, 2, 3, 4, 5}
接下来就可以像下面这样调用len函数:
print(len(s)) # 11
print(len(lst)) # 5
print(len(tpl)) # 5
print(len(d)) # 3
print(len(st)) # 5
二、len函数的实现原理
len函数的实现原理很简单,就是遍历序列并计数。对于字符串、列表和元组等基于索引的序列,len函数的实现方法如下:
def len(sequence):
count = 0
for i in sequence:
count += 1
return count
对于字典和集合等无序序列,len函数的实现方法如下:
def len(sequence):
return len(sequence.keys())
三、len函数的常见错误用法
1. 对于非序列类型的对象,如数字、布尔值、None等,使用len函数会抛出TypeError异常。
2. 对于含有不可hash类型(如列表)元素的集合,使用len函数会抛出TypeError异常。
3. 对于一些特殊的序列类型(如字节数组),len函数并不支持,会抛出TypeError异常。
四、其他常见用法
1.求列表中元素的和
可使用以下代码:
lst = [1,2,3,4,5]
lst_sum = sum(lst)
print(lst_sum) # 15
2.求字符串中某个字符的出现次数
可使用以下代码:
s = 'hello world'
s_count = s.count('l')
print(s_count) # 3
3.统计列表元素出现的次数
可使用以下代码:
lst = [1, 2, 3, 2, 4, 2, 5, 2]
lst_dict = {}
for i in lst:
lst_dict[i] = lst_dict.get(i, 0) + 1
print(lst_dict) # {1: 1, 2: 4, 3: 1, 4: 1, 5: 1}
总结
len函数是一个计算序列长度的神器,它可以用于任何类型的序列,实现原理很简单,就是遍历序列并计数,而且还有一些常见的用途,比如求列表中元素的和、字符串中某个字符的出现次数以及统计列表元素出现的次数等。
但是,需要注意的是,对于非序列类型的对象、含有不可hash类型元素的集合以及一些特殊的序列类型(如字节数组),len函数并不支持。