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

如何将含键值对的列表转换为字典并交换键与值?

列表转字典并交换键值的实现

需求说明

原始输入列表:

l1=[{"key1":["value1"]},{"key2":["value2"]},{"key3":["value3"]}]

期望输出字典(交换键与值):

d1={"value1":"key1","value2":"key2","value3":"key3"}

实现方法

方法一:循环遍历构建字典

逐个遍历列表中的小字典,取出原键和对应列表中的值元素,以值为新键、原键为新值存入目标字典:

l1 = [{"key1": ["value1"]}, {"key2": ["value2"]}, {"key3": ["value3"]}]
d1 = {}
for item in l1:
    for k, v_list in item.items():
        d1[v_list[0]] = k
print(d1)
# 输出: {'value1': 'key1', 'value2': 'key2', 'value3': 'key3'}

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

用嵌套推导式一次性完成转换,逻辑和循环一致,代码更紧凑:

l1 = [{"key1": ["value1"]}, {"key2": ["value2"]}, {"key3": ["value3"]}]
d1 = {v[0]: k for item in l1 for k, v in item.items()}
print(d1)
# 输出: {'value1': 'key1', 'value2': 'key2', 'value3': 'key3'}

注意事项

  • 原始数据中每个键对应的值是列表类型,必须通过v[0]取出列表内的唯一元素作为新字典的键
  • 若列表中存在重复的value值,后出现的键会覆盖先出现的,因为字典的键具有唯一性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:50:29