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

拆分值为列表的Python字典为两个独立字典的更优实现方法

Python字典拆分的Pythonic实现方案

方案1:字典推导式(最推荐,绝大多数场景适用)

dicta = {key: val[0] for key, val in resultdict.items()}
dictb = {key: val[1] for key, val in resultdict.items()}

该写法是Python社区公认的符合编码风格的实现,语法简洁可读性强,逻辑和你原有循环完全等价,性能差异几乎可以忽略,适合所有中小数据量的拆分场景。

方案2:单次遍历写法(适用于超大字典性能优化)

如果你的resultdict包含十万级及以上的键,想要减少遍历次数降低性能开销,可以用以下单次遍历写法:

dicta, dictb = {}, {}
for key, (val_a, val_b) in resultdict.items():
    dicta[key], dictb[key] = val_a, val_b

相比原写法做了元组解包优化,代码更紧凑,全程只遍历一次字典。

方案3:函数式写法

如果你偏好函数式风格,也可以用zip实现:

keys = resultdict.keys()
vals_a, vals_b = zip(*resultdict.values())
dicta = dict(zip(keys, vals_a))
dictb = dict(zip(keys, vals_b))

该写法同样只遍历一次字典,不过可读性稍弱于前两种方案。

注意:以上所有方案都和你原实现的约束一致,需要保证resultdict的每个value都是长度≥2的可迭代对象,否则会抛出解包或索引错误。

内容的提问来源于stack exchange,提问作者Novice At Everything

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:06:03