【Python】获取字符串中出现次数最多/少的字符

本节主要实现以下目标:

1、 实现Python获取字符串中出现次数最多/少的字符

2、存在问题分析与处理

3、优化方案

 


1、实现Python获取字符串中出现次数最多/少的字符:

 

2、存在问题分析与处理:

    代码说明:

1、max() 方法返回给定参数的最大值,参数可以为序列。详细参考菜鸟教程。

2、Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。详细参考菜鸟教程。

    代码存在问题:

issue1、输入字符串可能是全英文字符,当然也可能是非全英文字符。比如含中文字符、数字字符、特殊字符等等。这种情况下getmaxchar()将有可能不会返回预期值。需要进一步优化。

issue2、getminchar返回的值往往不是预期的值。如上面例子中,预期返回m,实际上返回的值却是b。

    存在问题根因分析:

issue1、max方法中给定的参数序列为string.ascii_lowercase的执行结果:'abcdefghijklmnopqrstuvwxyz'。在使用count()方法计数时,只能对序列中存在的字符进行数目的统计。

3、优化方案

    优化方案1:先去重,再将去重后的序列作为max、min的参数。
 

case:中文字符串

 

case:全数字字符

 
  

Case:全特殊字符

 

Case:混合字符

 
 

转载于:https://www.cnblogs.com/haizhibin1989/p/9158948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值