200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python--找出字符串中出现次数最多的字符及其出现的次数

Python--找出字符串中出现次数最多的字符及其出现的次数

时间:2019-12-01 20:52:08

相关推荐

Python--找出字符串中出现次数最多的字符及其出现的次数

方法一:

1、循环遍历列表或字符串,如果字符在字典中则值加1,如果不在则创建(key,value)

2、找到字典中,最大的value值

3、根据最大的value值,找对应的key值,打印出出现次数最多的字符

str = "abcabcabcaaab"dict = {}# 循环遍历列表或字符串,如果不在则创建(key,value),如果字符在字典中则值加1for i in str:if i not in dict:dict[i] = 1else:dict[i] += 1# 找到字典中,最大的value值temp = max(dict.values())# 根据最大的value值,找对应的key值,打印出出现次数最多的字符for k, v in dict.items():if v == temp:print("出现最多的是:", k, "出现了:", v)

方法二:

1、用字典键不能重复的特点,就可以除去重复的字符,把字符转挨个填入字典中

2、用列表方便取值的特点,把字典中的元素添加到列表中

3、冒泡排序,把出现次数最多的字符放到第一

4、返回第一个字符,就是要找的次数最多的字符

str = "abcabcabcaaab"d = {}# 用字典键不能重复的特点,就可以除去重复的字符,把字符转挨个填入字典中for i in str:count = str.count(i)d[i] = count# 用列表方便取值的特点,把字典中的元素添加到列表中list = []for i, v in d.items():list.append((i, v))# 冒泡排序,把出现次数最多的字符放到第一for i in range(len(list) - 1):for j in range(i + 1, len(list)):if list[i][1] < list[j][1]:list[i], list[j] = list[j], list[i]# 返回第一个字符,就是我们要找的次数最多的字符print("出现最多的是:", list[0][0], "出现了:", list[0][1])

拓展:字典中常用的方法

1、get(key,default = None):

返回指定的键的值,如果键不存在,则返会 default 的值

dic = {'a':1,'b':2,'c':3,'d':4}print(dic.get('b'))# 2print(dic.get('e',5))# 5

2、items( ):

返回键值对的可迭代对象,使用 list 可转换为 [(键,值)] 形式

dic = {'a':1,'b':2,'c':3,'d':4}print(dic.items())# dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])print(list(dic.items()))# [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

3、keys( ):

返回一个迭代器,可以使用 list() 来转换为列表

dic = {'a':1,'b':2,'c':3,'d':4}print(dic.keys())# dict_keys(['a', 'b', 'c', 'd'])print(list(dic.keys()))# ['a', 'b', 'c', 'd']

4、values( ):

返回一个可迭代对象,使用 list 转换为字典中 值 的列表

dic = {'a':1,'b':2,'c':3,'d':4}print(list(dic.values()))# [1,2,3]

5、update(字典对象):

将字典对象更新到字典中

dic = {'a':1,'b':2,'c':3,'d':4}dic_two = {'f':6}dic.update(dic_two)print(dic)# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 6}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。