Python

您所在的位置:网站首页 python找第一个只出现一次的字符 Python

Python

2023-12-16 16:09| 来源: 网络整理| 查看: 265

方法一:

1、循环遍历列表或字符串,如果字符在字典中则值加1,如果不在则创建(key,value) 2、找到字典中,最大的value值 3、根据最大的value值,找对应的key值,打印出出现次数最多的字符

str = "abcabcabcaaab" dict = {} # 循环遍历列表或字符串,如果不在则创建(key,value),如果字符在字典中则值加1 for i in str: if i not in dict: dict[i] = 1 else: 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')) # 2 print(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}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3