【算法】【Python】找出字符串中重复出现的字符 并求出重复次数 且根据重复次数从大到小排列

方式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='\n')
输出结果
{'key': '7', 'value': 3} {'key': '3', 'value': 2} {'key': '8', 'value': 2} {'key': '6', 'value': 2} {'key': '5', 'value': 1} {'key': '1', 'value': 1}

 

posted @ 2021-07-14 18:33  淡怀  阅读(2123)  评论(0编辑  收藏  举报