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

如何修改Python代码从嵌套字典提取指定Read键的值并返回有序列表

get_left_overlaps函数修改方案

原代码问题梳理

  • 未定义入参,无法接收嵌套字典overlaps和指定键名两个输入
  • 错误使用列表索引/切片语法访问字典,字典不支持[0]、[1:]这类操作
  • 用全局set存储结果会自动去重,不符合需求,且缺少排序逻辑
  • 遍历逻辑完全偏离需求,没有正确取其他Read子字典中对应指定键的数值

修改后实现代码

def get_left_overlaps(overlaps, target_read):
    res = []
    # 遍历所有外层的Read键
    for read_name, sub_dict in overlaps.items():
        # 跳过和目标键名相同的项
        if read_name == target_read:
            continue
        # 取当前Read子字典中对应目标键的数值,加入结果列表
        res.append(sub_dict[target_read])
    # 对结果升序排序后返回
    res.sort()
    return res

测试验证

用你提供的overlaps字典测试调用:

overlaps = {'Read1': {'Read3': 0, 'Read2': 1, 'Read5': 1, 'Read4': 0, 'Read6': 29}, 
'Read3': {'Read1': 0, 'Read2': 0, 'Read5': 0, 'Read4': 1, 'Read6': 1}, 
'Read2': {'Read1': 13, 'Read3': 1, 'Read5': 21, 'Read4': 0, 'Read6': 0}, 
'Read5': {'Read1': 39, 'Read3': 0, 'Read2': 1, 'Read4': 0, 'Read6': 14}, 
'Read4': {'Read1': 1, 'Read3': 1, 'Read2': 17, 'Read5': 2,'Read6': 0},
'Read6': {'Read1': 0, 'Read3': 43, 'Read2': 0, 'Read5': 0, 'Read4': 1}}

print(get_left_overlaps(overlaps, 'Read1'))

输出结果和预期一致:[0, 0, 1, 13, 39]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:15:05