python 找出字符串中出现次数最多的字母(带详细解析)

s="aaabbbnccccddeejjjkkkkkk"

#解题思路:

第一步:先将字符串转换成字典, {'b': 3, 'n': 1, 'a': 3, 'c': 4, 'j': 3, 'd': 2, 'k': 6, 'e': 2}这种样式

Count={}

for i in set(s): #set 无序不重复的集合,也就是在去重后的a、b、n、c、d、e、j 、k 中遍历

Count[i] =s.count(i) #字典为 key=value样式,Count[i]是key值 ,对应a、b、n、c、d、e、j 、k

#s是字符串,count() 是字符串的内置函数,统计字符出现次数,对应3, 1, 3, 4, 3, 2, 6, 2

print(Count) #打印出来的Count是字典 {'b': 3, 'n': 1, 'a': 3, 'c': 4, 'j': 3, 'd': 2, 'k': 6, 'e': 2}这种样式

#第二步:从字典中取value最大的

max_value =max(Count.values()) #此时拿到字典中最大的value,也就是最多的次数 6

#第三步:通过items函数将字典转换成元组(k,6)这种样式,然后遍历元组,判断元组中v值与max_value值相等,打印对应的k,v值

for k,v in Count.items():

if v==max_value:

print(k,v) #切记,不能直接print(k)

你可能感兴趣的:(Python,python)