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

如何从Python字典随机选键并修改值?需重复执行两次

解决方案

你需要先筛选出当前剩余数量大于0的动物,再随机选择并修改对应值,重复两次操作。完整代码如下:

import random

animals = {
    "pets": {"dog": 2, "cat": 1, "mouse": 0}
}

# 执行两次随机选择并减1操作
for _ in range(2):
    # 过滤出当前数量>0的动物
    available = [animal for animal, cnt in animals["pets"].items() if cnt > 0]
    # 随机选一个
    picked = random.choice(available)
    # 数量减1
    animals["pets"][picked] -= 1

# 格式化为你需要的输出样式
output = ", ".join(f"{animal} {cnt}" for animal, cnt in animals["pets"].items())
print(output)

关键说明:

  • 必须导入random模块才能使用随机选择功能,你之前的代码漏掉了这一步。
  • 每次循环前先过滤可用动物,避免选中数量已经为0的条目(比如初始的mouse)。
  • 直接通过字典键修改对应值,完成减1操作。
  • 最后用join和格式化字符串把字典内容转换成目标输出格式。

运行后会得到类似dog 1, cat 0, mouse 0或dog 0, cat 1, mouse 0的结果,具体取决于随机选择的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:51:37