方式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}