繁体   English   中英

将嵌套列表解压到字典中

[英]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'}}

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

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

什么意思:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM