我有 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'}}
