Skip to main content
 首页 » 编程设计

python之如何使用 3 个列表创建字典的字典

2025年05月04日26bjzhanghao

我有 3 个列表。第一个列表包含 2 个值。第二个列表包含多个值,包括一些重复值,但它们仅在与列表 1 中的不同值匹配相同位置时重复。然后是第三个列表,其中包含每个项目的唯一值。

list_1 = ["Value1", "Value1", "Value2", "value1"] 
list_2 = ["1111", "1234", "1111", "2468"] 
list_3 = ["uniqueValue1", "uniqueValue2", "uniqueValue3", "uniqueValue4"] 

我想创建 1 个以 value1 和 value 2 为键的字典,然后根据它们在列表中的位置将其他 2 个列表作为内部字典。

AllData = {"Value1": "Value1Dict", "Value2": "Value2Dict"} 
Value1Dict = {"1111": "uniqueValue1", "1234": "uniqueValue2", "2468": "uniqueValue4"} 
Value2Dict = {"1111": "UniqueValue3"} 

所以基本上我已经订购了与 Value1 和 Value 2 的位置匹配的数据,但我需要将它们分开。如果有更简单的方法来执行此操作,那么我也愿意尝试该建议。

请您参考如下方法:

这可能是您要查找的内容,但请注意您的嵌套字典的顺序可能与原始 list_2 和 list_3 值不同。

In [20]: x = {k: {} for k in list_1} 
 
In [21]: for a, b, c in zip(list_1, list_2, list_3): 
    ...:     x[a][b] = c 
    ...:      
 
In [22]: x 
Out[22]:  
{'Value1': {'1111': 'uniqueValue1', 
  '1234': 'uniqueValue2', 
  '2468': 'uniqueValue4'}, 
 'Value2': {'1111': 'uniqueValue3'}}