如何从列表的列表转换为具有不均匀列表元素的字典?



我有以下列表:

list_list = [("111", "222", "455"), ("134", "222", "666"), ("465", "364"), ("324", "364")]

我希望第一个元素是值,其余元素是字典中的键。我还希望一个键有多个值。这是我想要的结果:

{'222': ['111' '134'], '455': ['111'], '666': ['134'], '364': ['465', '324']} 

我尝试了下面的方式,但它不工作。请帮我一把

c = {}

for item in list_list:

value = item[0]

for each in range(1, len(item)):

c[item[each]] = value

print(c)

你可以这样做:

list_list = [("111", "222", "455"), ("134", "222", "666"), ("465", "364"), ("324", "364")]
c = {}
for item in list_list:
value = item[0]
for each in range(1, len(item)):
if item[each] in c.keys():
c[item[each]].append(value)
else:
c[item[each]] = [value]
print(c)

对于每个新值,检查键是否已经存在。在您的解决方案中,您覆盖已经有值的键,这里我们要么创建列表,要么在可能的情况下附加到现有的列表。

输出:

{'222': ['111', '134'], '455': ['111'], '666': ['134'], '364': ['465', '324']}

相关内容

  • 没有找到相关文章

最新更新