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

Python使用Counter统计数组频次后如何按降序逐行打印结果

解决方法

你可以直接使用Counter自带的most_common()方法实现需求,该方法会默认返回按频次从高到低排序的(元素, 出现次数)元组列表,直接遍历该列表打印即可,不需要手动处理key的索引转换。

完整代码示例

from collections import Counter

# 你的颜色数组
mass = ['white','black','white', 'black', 'black', 'sky blue']
mass_count = Counter(mass)

# 按频次降序逐行打印
for color, count in mass_count.most_common():
    # 调用title()方法实现首字母大写,匹配你需要的输出格式
    print(f"{color.title()}: {count}")

原代码排序异常的原因

如果你使用的是Python 3.7以下的版本,原生字典不保留插入顺序,直接遍历Counter的key会出现乱序;就算是3.7以上保留插入顺序的版本,你的原有写法做了多次多余的列表转换,也容易出现索引匹配错误导致顺序异常。使用most_common()是Counter官方提供的标准排序取值方案,兼容性和稳定性更高。


内容的提问来源于stack exchange,提问作者Алекс

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:54:07