【算法】【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='
')
输出结果
{'key': '7', 'value': 3} {'key': '3', 'value': 2} {'key': '8', 'value': 2} {'key': '6', 'value': 2} {'key': '5', 'value': 1} {'key': '1', 'value': 1}
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
原文地址:https://www.cnblogs.com/danhuai/p/15012388.html