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_stringdef 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_string1def filter_string1(s):    return s

得到的结果

print(filter_string1(‘aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532‘))
[(‘f‘, 10)]
 

原文地址:https://www.cnblogs.com/flashBoxer/p/10098566.html

时间: 2024-07-30 17:08:09

python技巧 计算字符串中字母出现的次数并取出最大的相关文章

计算字符串中每个字符出现次数

作者:zccst 思想原理:把字符串分割为数组,粒度为每一个字符.循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数. 另外,还可以对重复次数进行排序. 用到的知识点: 1,正则表达式.基本写法,RegExp,replace的用法. 2,数组中的sort.自定义函数排序.(sort默认按字符编码排序) function charCntInString (argument) { var str = argument,result = [],beforeLen

Map集合应用 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...

package com.swift; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class Test3_String_char { public static void main(String[] args) { /* * 第4题: 取出一个字符串中字母出现的次数.如:字符串:

计算字符串中子串出现的次数。

/* 计算字符串中子串出现的次数. 算法:字符串最长匹配原则,以下是图解: abcabcabc abc 循环遍历母串前lenT-lenP: 循环遍历字串,用j指向子串,用k记录每一趟母串开始的位置,若p[j]==t[k]则k.j均后移 若j==子串长度lenP,则找到一个子串,次数++. */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> main() { c

Map集合计算字符串中字符出现的次数

练习: 计算一个字符串中每个字符出现次数 分析: 1.使用Scanner获取用户输入的字符串 2.创建Map集合,key是字符串中的字符,value是字符的个数 3.遍历字符串,获取每一个字符 4.使用获取到的字符,去Map集合判断key是否存在 key存在: 通过字符(key),获取value(字符个数) value++ put(key,value)把新的value存储到Map集合中 key不存在: put(key,1) 5.遍历Map集合,输出结果 代码实现 package demo03;

计算字符串中字母数字空格等个数

本文主要是实现:输入字符串,计算它的字母.数字.空格和其他符号的个数 代码: #!/usr/bin/env python# -*- coding:utf-8 -*-# author by lh r=raw_input("请输入您要计算的字符串:") def func(s): all_alphanum=0 #初始化字母的总数为0 all_othersnum=0 #初始化其他字符总数为0 all_spacenum=0 #初始化空格的总数为0 all_digitnum=0 #初始化数字的总数

python之统计字符串中字母出现次数

dic=dict() d={} s=set() s='helloworld' (1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[x]=d[x]+1 print(d) (2)d2=dict() for x in s: d2[x]=d2.get(x,0)+1 print(d2) (3)d3=dict() for x in s: d3[x]=s.count(x) print(d3) 上面一共给出了三种方法,均是以字典的形式输出,但

统计字符串中字母出现的次数,字典形式输出(python)

a = "aAsmr3idd4bgs7Dlsf9eAF" 请将a字符串的数字取出,并输出成一个新的字符串. 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典. 例 {'a':3,'b':1} 请去除a字符串多次出现的字母,仅留最先出现的一个,大小写不敏感.例 'aAsmr3idd4bgs7Dlsf9eAF',经过去除后,输出 'asmr3id4bg7lf9e' a = "aAsmr3idd4bgs7Dlsf9eAF" def

判断字符串中字母出现的次数用分割法

public class zuoye3 { public static void main(String[] args) { String a="mingrikejijavabu";//判断字符串“i”出现了几次并将其输出 int c=0;//令c为i出现的次数 String[] b=a.split("");//分隔符,把语句分割. for (String x:b)//遍历输出一遍所有字母 { if(x.equals("i"))//是否有与i相等

计算字符串中子串出现的次数的问题麻烦帮忙看看

uhv7vn拱寐手硬拘耸<http://weibo.com/VFzp/230927982830634764345344> 1rf49l笔畔帽趟范沽<http://weibo.com/uSIp/230927983121854392700928> ijr22y值摆挂鹤啪傅<http://weibo.com/p20180413p/230927983073935346110464?oL> 831b27口偾殖卜呀驼<http://weibo.com/p20180413p/2