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

如何为给定的每个键创建对应字典值?Python列表转目标字典方法

Python列表转「元素为键、索引为值」字典的实现方法

你要的效果是把列表['a','b','c']转为{'a':0, 'b':1, 'c':2},常用实现方式有以下3种,优先推荐第一种写法:

  • 方法1:字典推导式 + enumerate()(最简洁、最高效的Python原生写法)
    直接通过遍历枚举对象组装字典,代码可读性和执行效率都最优:
    l = ['a', 'b', 'c']
    d = {key: index for index, key in enumerate(l)}
    
    运行后d的输出就是你期望的{'a': 0, 'b': 1, 'c': 2}。
  • 方法2:dict() 构造函数 + zip() 配对
    如果不想用推导式,也可以把键序列和值序列配对后直接传给字典构造函数:
    l = ['a', 'b', 'c']
    d = dict(zip(l, range(len(l))))
    
    其中range(len(l))会生成从0开始、长度和原列表一致的整数序列,zip()会把同位置的列表元素和整数拼成键值对。
  • 方法3:显式循环赋值(适合需要加自定义逻辑的场景)
    如果生成字典的过程中需要对键或者值做额外处理,可以用最直白的循环写法,扩展性更强:
    l = ['a', 'b', 'c']
    d = {}
    for index, key in enumerate(l):
        # 此处可添加自定义过滤、值转换等逻辑
        d[key] = index
    

注意:如果原列表中存在重复元素,靠后出现的重复元素会覆盖之前同键对应的值,这是Python字典键唯一的特性决定的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:48:16