You need to enable JavaScript to run this app. Python 如何将字典列表转换为仅含指定项的单一字典
优惠活动
大模型
产品
解决方案
定价
更多

Python 如何将字典列表转换为仅含指定项的单一字典

实现方法

遍历循环(易调试)

逐一遍历输入列表的每个子项,按需提取字段组装目标字典,逻辑直白,方便后续追加判断、校验等额外逻辑:

I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
O = {}
for item in I:
    O[(item['a'], item['b'])] = item['d']

运行后输出和示例要求完全匹配:

>>> O
{('S1', 'S2'): 'S4', ('S5', 'S6'): 'S8'}

字典推导式(简洁实现)

是Python处理同类字典生成场景的标准简写方式,无需手动初始化空字典和写循环结构,一行代码即可达成相同效果:

I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
O = {(item['a'], item['b']): item['d'] for item in I}

关键注意点

  • 组合键必须使用元组形式:Python字典的键要求为可哈希类型,列表是可变类型,直接用来当键会触发TypeError类型错误。
  • 重复键的覆盖逻辑:如果输入列表中存在a、b取值完全一致的子字典,后出现的子项对应的d值会覆盖同键下之前存储的内容。如果需要保留所有重复键的关联值,可以将字典值初始化为列表,遇到重复键时向列表中追加d值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 20:15:05