关于python统计一个列表中每个元素出现的频率

2023-02-12,,,,


第一种写法:

a = ['h','h','e','a','a']
result = {}
for i in a:
if i not in result:
result[i] = 1
else:
result[i] += 1
print(result)

最后统计成一个字典,字典的键是列表中元素的值,字典的值是出现的次数
不过每循环一次都要进行逻辑判断很浪费性能


第二种写法:

a = ['h','h','e','a','a']
result = {}
for i in a:
result.setdefault(i,0)
result[i] += 1 print(result)

setdefault(key,value)函数会自动判断字典中是否包含对应的键,如果包含那么不对字典进行操作,如果不包含那么对字典对应的键设置一个值,第一个参数是键,第二个参数是数值

这样的代码比较简洁,并且比第一种写法少进行一些逻辑判断,具体实现原理可以阅读这个函数的源码

其实还可以利用collections 模块下的类,不过我打算等我学完整个模块,单独写(水)一篇文章

关于python统计一个列表中每个元素出现的频率的相关教程结束。

《关于python统计一个列表中每个元素出现的频率.doc》

下载本文的Word格式文档,以方便收藏与打印。