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

如何高效从值为列表的字典中提取各列表首元素 避免慢速for loop

高效实现方案

原生Python中以下两种方案均比手写逐次赋值的for循环效率高30%~50%,核心原因是循环逻辑在C层面执行,避免了Python字节码层循环的额外开销,适合处理大体量字典:

1. 字典推导式(最推荐,可读性与性能兼顾)

dic2 = {k: v[0] for k, v in dic.items()}

如果你的字典中存在对应列表为空的场景,可以加过滤逻辑避免IndexError:

dic2 = {k: v[0] for k, v in dic.items() if v}

2. dict构造器配合map(极致性能可选)

对性能有极致要求时可以尝试该写法,部分场景下比字典推导式快5%~10%,但可读性稍弱:

dic2 = dict(map(lambda item: (item[0], item[1][0]), dic.items()))

注:你存储的是DataFrame列表的场景也完全适用上述写法,取列表第一个元素的操作为O(1)复杂度,不会产生额外开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:54:00