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

如何筛选字典并保留5个最高值(含并列情况)

提取字典中包含第5高值并列项的目标字典

没问题!我来帮你搞定这个需求,咱们一步步来:

首先,先明确你的原始字典:

{ "1": 1, "12": 1, "13":2, "3": 5, "5":8, "7":3, "4":8, "10":7 }

你的需求是提取包含5个最高值的字典,而且如果第5个最高值存在并列,要把所有对应key都包含进去。

实现思路

  1. 先把字典里的所有值提取出来,去重后按降序排序,这样就能得到从高到低的唯一值列表
  2. 找到排序后第5个位置的数值(注意:Python索引从0开始,所以取索引为4的值),这个值就是我们的筛选阈值
  3. 遍历原始字典,保留所有值大于等于这个阈值的键值对,这样就能自动包含所有阈值对应的并列项

代码实现

original_dict = { "1": 1, "12": 1, "13":2, "3": 5, "5":8, "7":3, "4":8, "10":7 }

# 提取所有唯一值并降序排序
unique_sorted_values = sorted(set(original_dict.values()), reverse=True)
# 获取第5个最高值作为筛选阈值
threshold = unique_sorted_values[4]
# 筛选符合条件的键值对
result_dict = {key: value for key, value in original_dict.items() if value >= threshold}

print(result_dict)

运行结果

执行这段代码后,输出结果正好是你期望的:

{'3': 5, '5': 8, '7': 3, '4': 8, '10': 7}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:00:39