python--计算字符串中出现最多次数的字符

  1. 看了网上挺多写的方法都没达到我所需要的效果,我干脆自己写了个方法共享给大家
 
  
ee = 'aa111(((bbhhhhhh%jjjjjj%(ccc((vvvv22'
cc='11222333'
def max_letter_count(n):
    list4 = []
    list1 = []
    list2 = []
    for i in n:
        list3 = []
        count_max = n.count(i)
        list3.append(i)
        list3.append(count_max)
        list1.append(list3)
        list2.append(count_max)
    num=max(list2)
    for i in range(len(list2)):
        if list2[i] == num:
            list4.append(list1[i][0])
    return list(set(list4)),'字符出现最大次数为:%d' % num
 
  
print(max_letter_count(ee))

python--计算字符串中出现最多次数的字符_第1张图片

2.至于另一个方法就比较简单了,参考网上的,不过也只取第一个,还是有瑕疵,可以自己去尝试完善下

ee = 'aa111(((bbb((%%%%%%%%%%%(ccc((vvvv22'
cc='11222333'
def num(n):
    return max(n,key=n.count)
print(num(cc))

print(num(ee))

python--计算字符串中出现最多次数的字符_第2张图片

看到效果了吧,如果出现次数相同的字符,只取第一个,这是略不符合逻辑,但胜在简单,大家看着场景用吧,我还是比较建议用第一个方法,因为字符串出现相同次数的字符还是比较大概率的



你可能感兴趣的:(python)