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

如何将字典的键转为值并以索引作为新键?

问题

我有如下Python字典:

d={'Acconti imposta IRAP (EE)': ('Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)'),
     'Acconti imposta IRES (EE)': ('Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)'),
     'Acquisti carburanti lubrificanti auto': ('Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto'),
     'Acquisto cancelleria': ('Acquisto cancelleria',
      'Acquisto cancelleria',
      'Acquisto cancelleria'),
     'Acquisto materiali consumo': ('Acquisto materiali di consumo',
      'Acquisto materiali di consumo',
      'Acquisto materiali di consumo')}

需要将其转换为如下结构的字典:

d1={0: ('Acconti imposta IRAP (EE)','Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)'),
     1: ('Acconti imposta IRES (EE)','Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)'),
     2: ('Acquisti carburanti lubrificanti auto', 'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto'),
     3: ('Acquisto cancelleria', 'Acquisto cancelleria',
      'Acquisto cancelleria',
      'Acquisto cancelleria'),
     4: ('Acquisto materiali consumo', 'Acquisto materiali di consumo',
      'Acquisto materiali di consumo',
      'Acquisto materiali di consumo')}

请问该如何实现?

解决方案

可以通过遍历原字典的键值对,结合enumerate生成索引,同时将原键添加到对应元组的开头,来构造目标字典。

方法一:字典推导式(简洁写法)

d1 = {idx: (key,) + value for idx, (key, value) in enumerate(d.items())}

核心逻辑:

  • enumerate(d.items())按顺序返回索引idx和原字典的键值对(key, value)
  • (key,) + value将原键转为单元素元组后,与原值的元组拼接,得到目标格式的元组

方法二:显式循环构建(可读性更强)

d1 = {}
for idx, (key, value) in enumerate(d.items()):
    d1[idx] = (key,) + value

Python 3.7及以上版本的字典会保留插入顺序,两种方法生成的d1都会和原字典的键顺序完全匹配,符合示例要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:18:21