【Python】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:全特殊字符

扫描二维码关注公众号,回复: 1538898 查看本文章
 

Case:混合字符

 
 

猜你喜欢

转载自www.cnblogs.com/haizhibin1989/p/9158948.html