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

如何对Python字典按词频从高到低排序并保留键值对?

按词频降序排列字典并输出键值对列表

你之前的代码仅对字典的键进行了排序,所以输出只有单词序列。要得到包含单词和对应出现次数的排序列表,有两种简洁的实现方式:

方法一:直接对键值对排序

利用字典的items()方法获取所有键值对元组,结合sorted()指定排序依据为词频(元组的第二个元素):

word_dict = {'stack': 2, 'over': 1, 'flow': 3}
# 得到元组列表,格式为[(单词, 次数), ...]
sorted_tuples = sorted(word_dict.items(), key=lambda x: x[1], reverse=True)
# 转换为你需要的列表嵌套列表格式
sorted_list = [list(item) for item in sorted_tuples]
print(sorted_list)
# 输出:[['flow', 3], ['stack', 2], ['over', 1]]

方法二:基于你原代码扩展

先通过你写的方式得到排序后的单词列表,再遍历组装成包含词频的子列表:

word_dict = {'stack': 2, 'over': 1, 'flow': 3}
sorted_words = sorted(word_dict, key=word_dict.get, reverse=True)
sorted_list = [[word, word_dict[word]] for word in sorted_words]
print(sorted_list)
# 输出:[['flow', 3], ['stack', 2], ['over', 1]]

两种方法都能实现需求,第一种更高效直接,无需额外遍历;第二种则是在你原有代码基础上的小修改,逻辑更易理解。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:20:39