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

Python如何自动替换字典值为函数输出并按值降序排序

实现方案

你现有代码的核心问题是遍历字典时仅取出了值做计算打印,没有将计算结果回写到字典对应的键位,且缺少排序步骤,按以下步骤修改即可:

  • 遍历字典时使用items()方法同时获取键和值,不要单独遍历values(),否则计算完成后无法定位要更新的条目
  • 完成所有值的替换后,使用sorted()函数按计算得到的整数值做降序排序,再转换为有序字典(Python 3.7及以上版本原生字典会保留插入顺序,低版本需使用collections.OrderedDict)

完整实现代码如下:

# 1. 创建原字典副本,避免修改原始猜测记录
bingo_entries_190_copy = bingoGuesses190.bingo_entries_190.copy()

# 2. 遍历键值对,将原始Y/N字符串替换为函数计算得到的整数
for player_name, guess_record in bingo_entries_190_copy.items():
    bingo_entries_190_copy[player_name] = bingo_calculator(guess_record)

# 3. 按得分降序排序,生成最终有序字典
bingo_entries_190_sorted = dict(
    sorted(
        bingo_entries_190_copy.items(),
        key=lambda entry: entry[1],  # 按字典的值(也就是计算得分)排序
        reverse=True  # 设为True即为降序
    )
)

补充说明:如果字典中存在和你样例里Rin条目一样带非Y/N字符(比如B)的记录,需要提前在bingo_calculator()函数里做异常处理,避免计算报错。

运行后得到的bingo_entries_190_sorted就是你期望的、值替换为整数且按得分从高到低排列的字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 05:36:25