方式1:
if __name__ == '__main__': """ 问题:找出字符串中重复出现的字符 并求出重复次数 且根据重复次数从大到小排列 """ str_old = '13678765387' str_list = list(str_old) # 将字符串按照单个字符分割成列表 str_set = set(str_list) # 对列表去重 new_list = [] for i in str_set: new_list.append({'key': i, 'value': str_list.count(i)}) # 循环查找某字符出现的次数 data = sorted(new_list, key=lambda e: e.__getitem__('value'), reverse=True) # 根据重复次数从大到小排列 print(*data, sep=' ')
输出结果
{'key': '7', 'value': 3} {'key': '3', 'value': 2} {'key': '8', 'value': 2} {'key': '6', 'value': 2} {'key': '5', 'value': 1} {'key': '1', 'value': 1}