可以使用字典来存储每个字符出现的频率,然后根据频率进行排序。以下是一个示例代码:
def sort_chars_by_frequency(string):
# 使用字典统计每个字符的频率
char_freq = {}
for char in string:
char_freq[char] = char_freq.get(char, 0) + 1
# 根据频率进行排序
sorted_chars = sorted(char_freq.keys(), key=lambda x: char_freq[x], reverse=True)
# 按照排序后的顺序构建新的字符串
sorted_string = ""
for char in sorted_chars:
sorted_string += char * char_freq[char]
return sorted_string
# 测试示例
string = "tree"
sorted_string = sort_chars_by_frequency(string)
print(sorted_string) # 输出 "eetr"
在上述代码中,首先使用字典char_freq
来统计字符串中每个字符的频率。然后使用sorted
函数对char_freq.keys()
进行排序,根据每个字符的频率进行比较。最后,按照排序后的顺序构建新的字符串sorted_string
,其中每个字符的重复次数等于它在原字符串中的频率。
在示例中,字符串"tree"经过排序后变成"eetr"。
上一篇:按照字符串转换为日期进行排序数组