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

如何从Python字典中获取值唯一的随机Top3键值对

实现字典按值去重随机取前三大项的方法

实现思路是先将字典元素按值分组,将相同值对应的所有键归为一组,再对去重后的值降序排序,每个值对应的键组中随机选取一个键,最后取前三组即可实现需求。

完整可运行代码

import random

dict1 = {'apple':50,'banana':20,'orange':50,'peach':20, 'mango':10}

# 按值对键分组
value_groups = {}
for key, val in dict1.items():
    if val not in value_groups:
        value_groups[val] = []
    value_groups[val].append(key)

# 对值降序排序,每个值分组随机选1个键,取前三组
sorted_values = sorted(value_groups.keys(), reverse=True)
result = [(random.choice(value_groups[val]), val) for val in sorted_values[:3]]

print(result)

代码说明

  • 分组步骤会把所有相同值的键放到同一个列表中,避免后续出现同值的重复项
  • sorted(value_groups.keys(), reverse=True) 仅对去重后的值排序,保证每个数值最多只出现一次
  • random.choice(value_groups[val]) 实现了同值项的随机选择效果,符合同值项随机保留一个的要求
  • 最终输出的结果会随机出现[('apple', 50), ('banana', 20), ('mango', 10)]或[('orange', 50), ('peach', 20), ('mango', 10)]等符合要求的形式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:48:02