如何用Python统计列表中每个元素出现的次数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计414个文字,预计阅读时间需要2分钟。
第一种写法:使用集合统计字符出现次数
pythona=['h', 'h', 'e', 'a', 'a']result={}for i in a: if i not in result: result[i]=1 else: result[i] +=1print(result)
最后统计出一个字符字典,字典的键是列表中元素,值是该元素出现的次数。
第一种写法:
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 模块下的类,不过我打算等我学完整个模块,单独写(水)一篇文章
作者:Hello_wshuo
本文共计414个文字,预计阅读时间需要2分钟。
第一种写法:使用集合统计字符出现次数
pythona=['h', 'h', 'e', 'a', 'a']result={}for i in a: if i not in result: result[i]=1 else: result[i] +=1print(result)
最后统计出一个字符字典,字典的键是列表中元素,值是该元素出现的次数。
第一种写法:
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 模块下的类,不过我打算等我学完整个模块,单独写(水)一篇文章
作者:Hello_wshuo

