Python中有时候会需要去统计一个列表之中不同元素的个数,实现这个需求的方法也有不少。下面这篇文章会介绍两个计算列表不同元素个数的方法并给出代码示例,往下看看吧。
(1)第一个方法就是不使用函数或者是模块,而是使用最基础语法for循环和if条件判断配置去求出列表中不同元素的个数。原理就是使用for循环去迭代这个列表,然后对迭代出来的每一个元素都进行是否包含的判断。如果不包含这个元素则将这个元素的名称添加到一个字典中并使其值加1,如果包含的话就让其对应的值加上1就行了,具体实例如下所示:
# 声明一个列表 colors = ['red', 'blue', 'red', 'green', 'blue', 'blue'] # 创建一个接收统计结果的字典 result = {} # 迭代列表 for color in colors: # 判断是否存在 if result.get(color)==None: result[color]=1 else: result[color]+=1 print (result) {'red': 2, 'blue': 3, 'green': 1}
(2)这种方法的话写起来太麻烦了,在Python的collections库中有一个方法Counter()可以起到计数器的作用。使用这个函数就可以很轻松的去统计一个列表中不同元素的个数了,它返回的也是一个字典,示例如下:
# 导入模块方法 from collections import Counter colors = ['red', 'blue', 'red', 'green', 'blue', 'blue'] c = Counter(colors) print (dict(c))
上面就是Python计算列表中不同元素个数的两个方法了,希望对你有所帮助。