代码之家  ›  专栏  ›  技术社区  ›  Nicholas

将词典列表转换为带索引的词典

  •  0
  • Nicholas  · 技术社区  · 3 年前

    我有一份字典清单,如下所示:

    ls_dict = [{'py': 'Python', 'mat': 'MATLAB', 'cs': 'Csharp'}, 
    {'A': 65, 'B': 66, 'C': 67}, 
    {'a': 97, 'b': 98, 'c': 99}]
    

    它产生了以下内容:

    [{'py': 'Python', 'mat': 'MATLAB', 'cs': 'Csharp'}, {'A': 65, 'B': 66, 'C': 67}, {'a': 97, 'b': 98, 'c': 99}]
    

    我想要的是一本字典,每本字典的索引如下:

    {"0": {'py': 'Python', 'mat': 'MATLAB', 'cs': 'Csharp'}, "1": {'A': 65, 'B': 66, 'C': 67}, 2: {'a': 97, 'b': 98, 'c': 99}}
    

    另一个问题是,我需要将前者转换为后者,而不是调整我的示例创建代码,因为我只花了15个小时将数据下载到当前(错误的)格式。

    有什么建议吗?非常感谢。

    2 回复  |  直到 3 年前
        1
  •  1
  •   Rahul K P no11    3 年前

    你可以用 enumerate ,

    In [75]: {str(index): lst for index, lst in enumerate(ls_dict)}
    Out[75]: 
    {'0': {'py': 'Python', 'mat': 'MATLAB', 'cs': 'Csharp'},
     '1': {'A': 65, 'B': 66, 'C': 67},
     '2': {'a': 97, 'b': 98, 'c': 99}}
    
        2
  •  0
  •   ali kariz    3 年前

    你好,你需要做这个whit

    keyList = ['0','1','2']
    valueList = [{'py': 'Python', 'mat': 'MATLAB', 'cs': 'Csharp'}, {'A': 65, 'B': 66, 'C': 67}, {'a': 97, 'b': 98, 'c': 99}]
    d = {}
    for i in range(len(keyList)):
        d[keyList[i]] = valueList[i]
    print(d)