将嵌套列表解压到字典中

Unpack nested list into dictionary

我正在尝试创建如下字典。我想做的是:

NestedList = [["key1","key2"],["val1a","val2a"],["val1b","val2b"]]

mydict = {a:{b:c} for a,b,c in NestedList}
print mydict

Runtime error (ValueErrorException): need more than 2 values to unpack

这不起作用,因为它想将第一个列表解压缩到 a、b、c,而不是将每个列表的第一个索引解压缩到 a、b、c。这是什么工作:

mydict = {a:{b:c} for a,b,c in zip(NestedList[0],NestedList[1],NestedList[2])}
print mydict

{'key1': {'val1a': 'val1b'}, 'key2': {'val2a': 'val2b'}}

但是,我不想像上面那样解压嵌套列表。我该如何重写它以避免解包和压缩?

N.B 在这种情况下,我可以通过重新定义我的 NestedList 来避免这种情况,但是总的来说,这一点仍然存在——当我不能只重写我的输入列表时,我该怎么做?

内容是什么:

NestedList = [["key1","key2"],["val1a","val2a"],["val1b","val2b"]]
mydict = {a:{b:c} for a,b,c in zip(*NestedList)}
print(mydict)