You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用Counter统计高频字符时相同频次按ASCII升序排序方法

Counter自定义排序实现方案
  • 核心原理:Counter的most_common()方法仅默认按频次降序排序,同频次字符的顺序无法满足ASCII升序要求,因此需要基于sorted()函数自定义排序规则
  • 排序逻辑设计:
    • 第一优先级:按字符频次降序排列,通过对频次取负值,利用sorted()默认升序的特性实现反向排序
    • 第二优先级:同频字符按ASCII值升序排列,直接使用字符本身作为排序依据即可,Python中字符排序默认基于ASCII码值
可直接运行的代码示例
from collections import Counter

# 输入原始字符串
input_str = 'bbbbcccaaaggggggghhhhhhhh'
# 统计字符出现频率
char_freq = Counter(input_str)
# 按自定义规则排序后取前5个结果
result = sorted(char_freq.items(), key=lambda item: (-item[1], item[0]))[:5]
print(result)
输出结果

运行后得到期望输出:
[('h', 8), ('g', 7), ('b', 4), ('a', 3), ('c', 3)]

内容的提问来源于stack exchange,提问作者Loopedfrog4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:24:05