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

如何将字典的取值作为另一字典的键并实现目标转换

问题分析与解决方案

当前方法的问题

你的代码存在两个关键问题:

  1. 字典A的定义错误:A = {A:1,B:2,C:3} 中,键A、B、C是未定义的变量,运行时会触发NameError。需要将键改为合法的可哈希类型(比如字符串),比如{'A':1, 'B':2, 'C':3}。
  2. 推导式写法可优化:虽然values[1]能取到原字典的值,但使用元组解构会更清晰易读。

修正后的推导式写法

修正字典A的定义,并优化推导式:

A = {'A': 1, 'B': 2, 'C': 3}
B = {val: val * 2 for _, val in A.items()}

运行后即可得到期望结果:{1:2, 2:4, 3:6}。这里用_, val解构A.items()返回的(键, 值)元组,_表示忽略原键,完全匹配你的需求。

替代方案

如果不想用字典推导式,还有两种常用实现方式:

1. 使用dict()构造器结合生成器表达式

A = {'A': 1, 'B': 2, 'C': 3}
B = dict((val, val * 2) for _, val in A.items())

2. 普通循环遍历

适合需要额外逻辑处理的场景:

A = {'A': 1, 'B': 2, 'C': 3}
B = {}
for _, val in A.items():
    B[val] = val * 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:35:50