python技巧 计算字符串中字母出现的次数并取出最大
Posted flashboxer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python技巧 计算字符串中字母出现的次数并取出最大相关的知识,希望对你有一定的参考价值。
有一个字符串 “aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532”,现在需要取出里面出现次数最多的字符
第一种方法-装饰器
class get_max_count_string:
def __init__(self,func):
self.func=func
self.count={}
def __call__(self, args):
for s in args:
if s in self.count:
self.count[s] +=1
else:
self.count[s] =1
key,value = max(self.count.items(),key=lambda x:x[1])
return key,value
@get_max_count_string
def filter_string(s):
return s
得到的结果是:
print(filter_string(‘aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532‘))
(‘2‘, 4)
第二种方法,使用python的collections.Counter
import collections
class get_max_count_string1:
def __init__(self,func):
self.func=func
def __call__(self, args):
s_count=collections.Counter(args)
return s_count.most_common(1)
@get_max_count_string1
def filter_string1(s):
return s
得到的结果
print(filter_string1(‘aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532‘))
[(‘f‘, 10)]
以上是关于python技巧 计算字符串中字母出现的次数并取出最大的主要内容,如果未能解决你的问题,请参考以下文章
Map集合应用 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:abk...