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

Python如何提取字典各键等长列表同位置最小值对应的键

实现方案

你可以利用Python内置的zip函数完成同索引元素的聚合,再逐位比对最小值匹配对应键即可,代码兼容任意数量键、任意等长列表值的输入场景。

核心代码

def min_key_by_index(input_dict: dict) -> list:
    keys = list(input_dict.keys())
    # 按同索引聚合所有列表的元素,逐位找最小值对应的键
    return [
        keys[values.index(min(values))]
        for values in zip(*input_dict.values())
    ]


# 测试示例
if __name__ == "__main__":
    test_data = {1: [1, 2, 3], 2: [4, 5, 6]}
    print(min_key_by_index(test_data))  # 输出: [1, 1, 1]

逻辑说明

  • zip(*input_dict.values())是Python中对嵌套列表做「按列聚合」的常用写法,会把每个键对应列表的同索引元素打包成一个元组,刚好匹配横向同位置比对的需求
  • Python 3.7及以上版本的字典默认保留插入顺序,因此keys()返回的键顺序和values()返回的列表顺序完全一一对应,不会出现键值匹配错位
  • 若同一索引位置有多个键对应的元素同为最小值,代码会返回最先存入字典的那个对应键;如果需要返回所有对应键,把index查找逻辑改成遍历匹配所有最小值位置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 20:15:39