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

如何用推导式将Python字典数组转换为Python字典?

用字典推导式实现更简洁的转换

当然可以!你已经用双层for循环搞定了需求,其实用字典推导式能写出更紧凑的代码,逻辑和你的循环完全一致,效率也不相上下(毕竟本质都是遍历所有的pin和对应分组)。

直接上实现代码:

my_array = [ { "pins": [1,2], "group": "group1" }, { "pins": [3,4], "group": "group2" } ]
new_dict = {pin: d['group'] for d in my_array for pin in d['pins']}

简单解释下这个推导式:

  • 外层遍历my_array里的每个字典d
  • 内层遍历每个d中pins列表的每个pin
  • 把每个pin作为键,对应的d['group']作为值,直接构建新字典

如果想让代码结构更清晰(比如拆分多行),也可以写成这样:

new_dict = {
    pin: d['group']
    for d in my_array
    for pin in d['pins']
}

这种写法和你原来的双层循环是等价的,只是把循环逻辑整合到了推导式里,代码更简洁易读。而且在Python里,推导式的性能和普通循环几乎没有差别,甚至在部分场景下会略快一点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:25:28