Python |
您所在的位置:网站首页 › python找第一个只出现一次的字符 › Python |
方法一: 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)) # 52、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 |