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

Python如何从值为列表的哈希表中选取最小键对应的2个随机值?

问题根因

你当前的写法存在两个核心问题:

  • 列表推导直接提取了排序结果中键值对的完整列表值v,所以输出结果是嵌套列表,而非预期的单个字符串
  • 将random.choice写在sorted的key函数中没有实际作用:key仅用于生成排序权重,你的字典键都是唯一值,仅靠x[0]即可完成排序,完全不会修改最终返回的列表内容。

解决代码

import random

potential_terms={9: ['leather'], 10: ['type', 'polyester'], 13:['hello','bye']}
# 取升序排序后的前两个最小键
top2_min_keys = sorted(potential_terms.keys())[:2]
# 遍历这两个键,分别从对应列表中随机取一个元素
out = [random.choice(potential_terms[k]) for k in top2_min_keys]

运行后out的第一个元素固定为leather,第二个元素随机为type或polyester,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:36:00